代码之家  ›  专栏  ›  技术社区  ›  TheBoubou codingbadger

LINQ:进行选择和更新

  •  0
  • TheBoubou codingbadger  · 技术社区  · 15 年前

    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 回复  |  直到 15 年前
        1
  •  1
  •   Arsen Mkrtchyan    15 年前
    foreach(var item in res)
    {
       item.prop = updatedvalue;
    }
    

    你是说这个吗?

        2
  •  1
  •   Marc Gravell    15 年前

    没有内在的 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;