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

How to get a specific value in C# 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)
    }
}

您可以使用 SubString 和右括号的索引,得到它后面的内容:

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

您可以使用 splitlast

 foreach (var s in ListBox1.Items)
 {
      var desc = s.ToString().Split("]").Last();
      ListBox2.Items.Add(desc);
 }

这样,即使字符串中没有“]”,您的代码也不会出错

如果 foreach 循环变量数据类型为 "string",您可以使用 SubString。如果您将变量定义为 "var" 那么您必须将 "var" 转换为 "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));
}