Queryable.Intersect Yöntem

Tanım

İki dizinin küme kesişimini üretir.

Aşırı Yüklemeler

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Değerleri karşılaştırmak için varsayılan eşitlik karşılaştırıcısını kullanarak iki dizinin küme kesişimini üretir.

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Değerleri karşılaştırmak için belirtilen IEqualityComparer<T> kullanarak iki dizinin küme kesişimini üretir.

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Değerleri karşılaştırmak için varsayılan eşitlik karşılaştırıcısını kullanarak iki dizinin küme kesişimini üretir.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Intersect(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2);
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);
static member Intersect : System.Linq.IQueryable<'Source> * seq<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Intersect(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource)) As IQueryable(Of TSource)

Tür Parametreleri

TSource

Giriş dizilerinin öğelerinin türü.

Parametreler

source1
IQueryable<TSource>

source2'de de görünen benzersiz öğeleri döndürülen bir dizi.

source2
IEnumerable<TSource>

İlk dizide de görünen benzersiz öğeleri döndürülen bir dizi.

Döndürülenler

IQueryable<TSource>

İki dizinin küme kesişimini içeren bir dizi.

Özel durumlar

source1 veya source2null.

Örnekler

Aşağıdaki kod örneği, iki sıranın her birinde görünen öğeleri döndürmek için Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) nasıl kullanılacağını gösterir.

int[] id1 = { 44, 26, 92, 30, 71, 38 };
int[] id2 = { 39, 59, 83, 47, 26, 4, 30 };

// Get the numbers that occur in both arrays (id1 and id2).
IEnumerable<int> both = id1.AsQueryable().Intersect(id2);

foreach (int id in both)
    Console.WriteLine(id);

/*
    This code produces the following output:

    26
    30
*/
Dim id1() As Integer = {44, 26, 92, 30, 71, 38}
Dim id2() As Integer = {39, 59, 83, 47, 26, 4, 30}

' Get the numbers that occur in both arrays (id1 and id2).
Dim both As IEnumerable(Of Integer) = id1.AsQueryable().Intersect(id2)

Dim output As New System.Text.StringBuilder
For Each id As Integer In both
    output.AppendLine(id)
Next

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:

' 26
' 30

Açıklamalar

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) yöntemi, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) kendisini oluşturulan genel bir yöntem olarak çağırmayı temsil eden bir MethodCallExpression oluşturur. Ardından MethodCallExpression, source1 parametresinin Provider özelliği tarafından temsil edilen IQueryProviderCreateQuery<TElement>(Expression) yöntemine geçirir.

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) çağırmayı temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, source1 parametresinin türünün uygulanmasına bağlıdır. Beklenen davranış, aynı zamanda source2source1 tüm öğelerin döndürülür olmasıdır.

Şunlara uygulanır

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Değerleri karşılaştırmak için belirtilen IEqualityComparer<T> kullanarak iki dizinin küme kesişimini üretir.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Intersect(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Intersect : System.Linq.IQueryable<'Source> * seq<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Intersect(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource), comparer As IEqualityComparer(Of TSource)) As IQueryable(Of TSource)

Tür Parametreleri

TSource

Giriş dizilerinin öğelerinin türü.

Parametreler

source1
IQueryable<TSource>

source2'de de görünen benzersiz öğeleri döndürülen bir IQueryable<T>.

source2
IEnumerable<TSource>

İlk sırada da görünen benzersiz öğeleri döndürülen bir IEnumerable<T>.

comparer
IEqualityComparer<TSource>

Değerleri karşılaştırmak için bir IEqualityComparer<T>.

Döndürülenler

IQueryable<TSource>

İki dizinin küme kesişimini içeren bir IQueryable<T>.

Özel durumlar

source1 veya source2null.

Açıklamalar

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) yöntemi, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) kendisini oluşturulan genel bir yöntem olarak çağırmayı temsil eden bir MethodCallExpression oluşturur. Ardından MethodCallExpression, source1 parametresinin Provider özelliği tarafından temsil edilen IQueryProviderCreateQuery<TElement>(Expression) yöntemine geçirir.

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) çağırmayı temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, source1 parametresinin türünün uygulanmasına bağlıdır. Beklenen davranış, aynı zamanda source2source1 tüm öğelerin döndürülür olmasıdır. comparer parametresi öğeleri karşılaştırmak için kullanılır.

Şunlara uygulanır