Queryable.Except Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İki dizinin küme farkını üretir.
Aşırı Yüklemeler
Except<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 farkını üretir. |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Değerleri karşılaştırmak için belirtilen IEqualityComparer<T> öğesini kullanarak iki dizinin küme farkını üretir. |
Except<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 farkını üretir.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Except(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2);
public static System.Linq.IQueryable<TSource> Except<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);
static member Except : System.Linq.IQueryable<'Source> * seq<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Except(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>
IQueryable<T> Aynı zamanda içinde source2
olmayan öğeleri döndürülür.
- source2
- IEnumerable<TSource>
IEnumerable<T> İlk dizide de gerçekleşen öğeleri döndürülen dizide görünmez.
Döndürülenler
IQueryable<T> İki dizinin küme farkını içeren bir.
Özel durumlar
source1
veya source2
şeklindedir null
.
Örnekler
Aşağıdaki kod örneği, yalnızca ilk kaynak dizisinde görünen öğeleri döndürmek için nasıl kullanılacağını Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) gösterir.
double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };
// Get the numbers from the first array that
// are NOT in the second array.
IEnumerable<double> onlyInFirstSet =
numbers1.AsQueryable().Except(numbers2);
foreach (double number in onlyInFirstSet)
Console.WriteLine(number);
/*
This code produces the following output:
2
2.1
2.3
2.4
2.5
*/
Dim numbers1() As Double = {2.0, 2.1, 2.2, 2.3, 2.4, 2.5}
Dim numbers2() As Double = {2.2}
' Get the numbers from the first array that
' are NOT in the second array.
Dim onlyInFirstSet As IEnumerable(Of Double) = _
numbers1.AsQueryable().Except(numbers2)
Dim output As New System.Text.StringBuilder
For Each number As Double In onlyInFirstSet
output.AppendLine(number)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
'
' 2
' 2.1
' 2.3
' 2.4
' 2.5
Açıklamalar
yöntemi, Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Except<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ı Except<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 bulunanlar source2
dışında içindeki source1
tüm öğelerin döndürülür olmasıdır.
Şunlara uygulanır
Except<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 farkını üretir.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Except(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Except<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> Except<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Except : System.Linq.IQueryable<'Source> * seq<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Except(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> Aynı zamanda içinde source2
olmayan öğeleri döndürülür.
- source2
- IEnumerable<TSource>
IEnumerable<T> İlk dizide de gerçekleşen öğeleri döndürülen dizide görünmez.
- comparer
- IEqualityComparer<TSource>
Değerleri karşılaştırmak için bir IEqualityComparer<T> .
Döndürülenler
IQueryable<T> İki dizinin küme farkını içeren bir.
Özel durumlar
source1
veya source2
şeklindedir null
.
Açıklamalar
yöntemi, Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Except<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ı Except<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 de source2
bulunanlar dışında içindeki source1
tüm öğelerin döndürülür ve comparer
değerleri karşılaştırmak için kullanılır.