【问题标题】:How to populated C# listbox with string separated comma如何用字符串分隔的逗号填充 C# 列表框
【发布时间】:2020-10-19 11:35:09
【问题描述】:

我有一个用逗号分隔的字符串,如下所示:

"test1,test2,test3"

我想用以下代码将这些字符串转换为列表:

    private void convertToList()
    {
        try{
            List<string> myList = occ.Split(',').ToList();
            listBox1.Items.Add(myList);
        }catch(Exception e){
            MessageBox.Show(e.Message);
        }
        
    }

我认为代码会将字符串转换为列表并将其添加到列表框中,相反,它仅显示“集合”(是的,仅显示“集合”一词,仅此而已)而不是实际列表。 为什么会这样?你能告诉我什么是正确的代码吗?

【问题讨论】:

  • listBox1.Items.AddRange(occ.Split(','));
  • 这是因为你添加一个项目(列表)而不是多个字符串作为项目

标签: c# winforms listbox desktop-application


【解决方案1】:

好吧,Add 添加了一个 single 项目,在您的情况下是 List&lt;string&gt;ListBox 应该为此显示什么? Collection 似乎是一个足够好的解决方案。如果您想在一次性中添加整个集合,请尝试AddRange

listBox1.Items.AddRange(occ.Split(','));

如果你坚持Add,你必须循环 以便Add 每个 item 的集合:

// To stop unwanted redrawing after each item addition
listBox1.BeginUpdate();

try {
  foreach (var item in occ.Split(','))
    listBox1.Items.Add(item);
}
finally {
  listBox1.EndUpdate();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2014-07-04
    • 2020-04-25
    • 1970-01-01
    • 2015-03-29
    相关资源
    最近更新 更多