Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ-在列表框中查找项索引_C#_Linq_Listbox - Fatal编程技术网

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)));

列表框和控制台在一个方法中?兴趣列表框和控制台在一个方法中?有趣的