This is an extension method from the System.Linq
namespace. In set theory, an intersection is the subset of each collection that is found in both collections.
Intersect()
gets common elements from 2 collections. The Intersect()
method here is elegant—it can be used on many types of elements.
This program invokes the Intersect()
method. The two using directives at the top of the program specify where the types are located. We use the array initializer syntax.
Intersect()
method returns these exact numbers: 2 and 3. These are the intersecting numbers.Intersect()
here compares elements in the default way for their type. For ints, a simple numeric comparison for equality is done.using System; using System.Linq; class Program { static void Main() { // Assign two arrays. int[] array1 = { 1, 2, 3 }; int[] array2 = { 2, 3, 4 }; // Call Intersect extension method. var intersect = array1.Intersect(array2); // Write intersection to screen. foreach (int value in intersect) { Console.WriteLine(value); } } }2 3
We examined the Intersect()
method. We computed the intersecting part of two integer arrays using a declarative syntax, rather than an imperative loop construct.
A declarative syntax is more concise. But an imperative style could improve the efficiency of this particular operation.