LINQ:进行选择和更新

时间:2009-12-16 06:55:32

标签: c# linq select

我有这段代码

foreach (MyType o in myList)
{
    var res = from p in myOriginalList
              where p.PropertyA == o.PropertyA && p.PropertyB == o.PropertyB
              select p;

    //Need to update myOriginalList

    //....
}

我想在myOriginalList中为Linq select找到的每条记录做一次更新。我怎么能这样做?

谢谢,

2 个答案:

答案 0 :(得分:1)

foreach(var item in res)
{
   item.prop = updatedvalue;
}

你是说这个吗?

答案 1 :(得分:1)

没有内置的ForEach扩展程序 - 所以只需循环并更新:

foreach(var item in res) {
    item.SomeProp = someValue;
}

另请注意,您可以使用SelectMany在一个查询中执行此操作:

var res = from MyType o in myList
          from p in myOriginalList
              where p.PropertyA == o.PropertyA && p.PropertyB == o.PropertyB
              select p;