2


0

Intersectの可能な用途

同じ出力を生成する2つのクエリがあります。 1つはIntersect拡張メソッドを使用し、もう1つはクロス結合です。

クロス結合や通常の結合など、同じことを行う方法は他にもありますが、Intersectは他にどのような用途に使用できますか?

int[] intsA = new[] {1,4,7,0,3};
int[] intsB = new[] {2,3,8,9,1};

intsA.Intersect(intsB)

(from a in intsA
 from b in intsB
 where a == b
 select a)

出力

IEnumerable(2アイテム)+ 1、3

IEnumerable(2アイテム)+ 1、3

1 Answer


5


私見、インターセクトを使用すると、意図がより明確になり、コードが読みやすくなります。 `intsA.Intersect(intsB)`は、集合交差を作成していることをすぐに教えてくれます。 LINQ式では、同じことを理解するために、完全で複雑な式を解析する必要があります。