如何使用单行代码将多个项目添加到组合框?

时间:2015-01-18 06:39:11

标签: c# vb.net

如何使用单行代码将多个项目添加到组合框中?

public Form1()
    {
        InitializeComponent();
        comboBox1.Items.Add("simple");
        comboBox1.Items.Add("continuous");
        comboBox1.Items.Add("perfect");
        comboBox1.Items.Add("perfect continuous");
    }

3 个答案:

答案 0 :(得分:4)

  

"如何使用单行代码向组合框添加多个项目?"

如果您查看ComboBox.ObjectCollection的文档,您会看到有一个名为AddRange的方法。 MSDN将此方法描述为:

  

将一个项目数组添加到ComboBox的项目列表中。

所以你要寻找的单行是:

<子>的 C#:

comboBox1.Items.AddRange(new string[] { "simple", "continuous", "perfect", "perfect continuous" });

<子>的 vb.net:

ComboBox1.Items.AddRange(New String() {"simple", "continuous", "perfect", "perfect continuous"})

答案 1 :(得分:1)

没有理由去做你要问的事。不必要地减少代码行(LOC)是糟糕的编程习惯,应该避免。只有在有意义的地方才能做到这一点,并提高对代码的可读性/理解。

当你使用编译的语言(并且C#编译成中间语言)时,没有理由关心你的源文件有多小,除非它当然是一种改进。当您处理大小可能很重要的脚本语言(如客户端代码的JavaScript)时,缩小器或uglifiers利用快捷方式减少尽可能多的空格以减小文件大小以加快下载速度 - 但这只是发布所必需的代码 - 在开发过程中保持它的清洁和可读性。

现在,通过使用stringforeach循环数组,您可以“缩短”代码。

public Form1 {
    InitializeComponent();
    string[] items = new string[] { "simple", "continuous", "perfect", "perfect continuous" };
    foreach (string item in items) {
        comboBox1.Items.Add(item);
    }
}

不像你想要的那样“一行”,但@OrelEraki提出了一个单行解决方案,它使用List对象创建,其方式与此处看到的字符串数组类似。您看到的内容可能不会比您的示例“更短”,但它不会随着您将要做的更多项目而显着增长。

答案 2 :(得分:-1)

解决此问题的另一种方法是在[设计]选项卡中。你只需要选择你的comboBox并打开所有者,转到&#34;数据&#34;那么&#34;项目&#34;然后把这个&#34;(收藏)&#34;。现在,您可以访问新部件并放置所需的所有项目。