C# LINQ-在列表框中查找项索引
我使用以下代码获取列表框中的项目索引:C# LINQ-在列表框中查找项索引,c#,linq,listbox,C#,Linq,Listbox,我使用以下代码获取列表框中的项目索引: string searchfor = "B"; for (int i = 0; i < listBox1.Items.Count; i++) { listBox1.SelectedIndex = i; if (searchfor == listBox1.Text) Console.WriteLine(listBox1.SelectedIndex); } 有人能帮我和林克一起做吗 string searchfor =
string searchfor = "B";
for (int i = 0; i < listBox1.Items.Count; i++)
{
listBox1.SelectedIndex = i;
if (searchfor == listBox1.Text)
Console.WriteLine(listBox1.SelectedIndex);
}
有人能帮我和林克一起做吗
string searchfor = "B";
var Items = listbox1.Items.Where( item => item.Text == searchfor);
//in case there are more than 1
Items.ForEach( i => Console.WriteLine(i.SelectedIndex))
或
或
您可以使用包含项目索引的重载:
listBox1.Items
.Select((item, index) => new {item, index})
.Where(ix => ix.item == searchFor)
.Select(ix => ix.index);
您可以使用包含项目索引的重载:
listBox1.Items
.Select((item, index) => new {item, index})
.Where(ix => ix.item == searchFor)
.Select(ix => ix.index);
这也应该起作用:
listBox1.Items.Where(item=> item.Text == searchfor)
.ForEach(i => Console.WriteLine(listBox1.Items.IndexOf(i)));
这也应该起作用:
listBox1.Items.Where(item=> item.Text == searchfor)
.ForEach(i => Console.WriteLine(listBox1.Items.IndexOf(i)));
列表框和控制台在一个方法中?兴趣列表框和控制台在一个方法中?有趣的