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> öğesini 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>

içinde de görünen source2 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 source2 şeklindedir null.

Örnekler

Aşağıdaki kod örneği, iki dizinin her birinde görünen öğeleri döndürmek için nasıl kullanılacağını Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 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

yöntemi, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) bir oluşturur. Ardından parametresinin MethodCallExpressionCreateQuery<TElement>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource1 iletir.

Çağrıyı Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source1 bağlıdır. Beklenen davranış, içinde source1 bulunan source2 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> öğesini 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>

IQueryable<T> içinde de görünen source2 benzersiz öğeleri döndürülür.

source2
IEnumerable<TSource>

IEnumerable<T> İlk dizide de görünen benzersiz öğeleri döndürülür.

comparer
IEqualityComparer<TSource>

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

Döndürülenler

IQueryable<TSource>

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

Özel durumlar

source1 veya source2 şeklindedir null.

Açıklamalar

yöntemi, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) bir oluşturur. Ardından parametresinin MethodCallExpressionCreateQuery<TElement>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource1 iletir.

Çağrıyı Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source1 bağlıdır. Beklenen davranış, içinde source1 bulunan source2 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