我有两个类型为Derp
的列表:
public class Derp
{
public bool Valid;
public int SomeValue;
public int MoreValues;
public int EvenMoreValues;
public int ThereAreManyValues;
}
List<Derp> a = new List<Derp>();
List<Derp> b = new List<Derp>();
/// Populate both
var c = a.Intersect(b).Select(x=> { x.Valid = true; return x; });
如果Valid
中存在b
,我需要将a
设置为true,并将所有值保留在a
中。我可以理解上面的代码段仅保留了相交的对象,但我需要保留a
。
我也尝试过其他有趣的事情(var c = a.Where(x => b.Contains(x)).Sel...
),但我不认为我理解List方法足以解决这个问题。
答案 0 :(得分:2)
试试这个:
b.ForEach(x => {if (a.Contains(x)) {x.Valid = true;} });
以上作品。但是,请注意@ SriramSakthivel的评论并尽可能重新考虑您的方法。