如何在 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);
}
您可以使用 split
和 last
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));
}
你好,我想获取最后一个方括号“]”之后的所有值,所以假设以下值在我的列表框中
[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);
}
您可以使用 split
和 last
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));
}