ID、名前、都市のプロパティを持つ list1 と list2 の 2 つの顧客リストがあります。リスト2に同じ名前と都市のアイテムが存在する場合、リスト1からアイテムを削除する必要があります。複数のパラメーターを選択するための linq クエリの記述方法。
2042 次
2 に答える
11
list1.RemoveAll(c => list2.Any(c2 => c2.Name == c.Name && c2.City == c.City));
于 2012-08-31T01:23:19.273 に答える
2
&&
orを使用して、2 つのブール値で条件を記述するのと同じです||
。例:
from x in list1
where list2.Any(y => y.Name == x.Name && y.City == x.City)
select x
「述語」は単に であることに注意してくださいFunc<MyType, bool>
。したがって、最後に bool を返す限り、かなりファンキーなことを行うことができます。
もちろん、列挙中にリストを変更することはできないため、削除する前にIEnumerable
( it) を列挙する必要がありますが、おそらくそれを知っていました (または、上記の述語で使用するだけです)。.ToList()
List.RemoveAll
于 2012-08-31T01:19:26.820 に答える