如何在C#ListBox中获取特定值

时间:2016-11-30 09:54:45

标签: c# visual-studio filter listbox listboxitem

你好我想在最后一个方括号后面得到所有的值']'所以我要说下面的值在我的ListBox中

[Database]ColumnName
[Firefox]Browser
[Program]VisualStudio
[SQL]SQLSERVER

我想看看

ColumnName
Browser
VisualStudio
SQLSERVER

我的代码

foreach (var s in ListBox1.Items)
{
    if (s.Equals("]") == true)
    {
        var desc = s.Equals("]");
        ListBox2.items.add(desc)
    }
}

3 个答案:

答案 0 :(得分:2)

您可以使用SubString以及结束括号的索引来获取其后的内容:

foreach (var s in ListBox1.Items)
    {
         s = s.ToString();
         var desc = s.SubString(s.LastIndexOf("]") + 1);
         ListBox2.Items.Add(desc);
    }

答案 1 :(得分:0)

您可以使用splitlast

 foreach (var s in ListBox1.Items)
 {
      var desc = s.ToString().Split("]").Last();
      ListBox2.Items.Add(desc);
 }
这样,即使没有'],您的代码也不会出错。在你的字符串

答案 2 :(得分:0)

如果foreach循环变量数据类型为" string",则可以使用SubString。如果你将变量定义为" var"然后你必须转换" var" to" string"。

试试这个......

foreach (string item in listBox1.Items)
{
    listBox2.Items.Add(item.Substring(item.LastIndexOf("]") + 1));
}

或者

foreach (var item in listBox1.Items)
{
    listBox2.Items.Add(item.ToString().Substring(item.ToString().LastIndexOf("]") + 1));
}