如何在c#中的lambda表达式中使用foreach方法-如何在当前元素中使用

如何在c#中的lambda表达式中使用foreach方法-如何在当前元素中使用,c#,C#,“我想要obj.ImageID==ids.currentId。 我的意思是ids是int数组,我希望在每次迭代中与ids[i]进行比较。”使用classc foreach,一切都非常清楚: ids.ForEach(objects.AddRange(Getobjects().FindAll(obj => obj.ImageID == ); 如果您真的想要ForEach-扩展方法(我无法假设您为什么要这样做),那么以下就是它: foreach(var id in ids) objec

“我想要obj.ImageID==ids.currentId。
我的意思是ids是int数组,我希望在每次迭代中与ids[i]进行比较。”

使用classc foreach,一切都非常清楚:

ids.ForEach(objects.AddRange(Getobjects().FindAll(obj => obj.ImageID == );
如果您真的想要
ForEach
-扩展方法(我无法假设您为什么要这样做),那么以下就是它:

foreach(var id in ids)
    objects.AddRange(Getobjects().FindAll(obj => obj.ImageID == id));
您还可以使用
Where
而不是
FindAll
,因为后者有创建新列表的开销:

ids.ForEach(x => objects.AddRange(Getobjects().FindAll(obj => obj.ImageID == x)));
ForEach lambda的“x=>”部分在哪里?
objects.AddRange(Getobjects().Where(obj => obj.ImageID == id);