我正面临一个奇怪的问题,我没有用c#编写太多程序并且最近刚开始,所以如果这个问题实际上只是一个初学者的错误,我会事先道歉。
int i = 0;
var index = from x in (
from v in Category.Items
select new { Key = i++, Value = v })
where ((MenuCategory) x.Value).id == menuItems[items.SelectedIndex].category
select x.Key;
我正在尝试获取Category.Items[]
中特定对象的索引(其中字段ID是特定值,menuItems[items.SelectedIndex].category
)
答案 0 :(得分:5)
LINQ查询不应该导致这样的副作用。您可以使用方法语法和Select
:
var selectedCatId = menuItems[items.SelectedIndex].category;
var indexes = Category.Items
.Select((c, index) => new { Key = index, Value = c })
.Where(x => ((MenuCategory)x.Value).id == selectedCatId)
.Select(x => x.Key);