Queryable.Except Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erzeugt die Differenzmenge von zwei Sequenzen
Überlädt
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Erzeugt die Differenzmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Erzeugt mithilfe des angegebenen IEqualityComparer<T> die Differenzmenge zweier Sequenzen zum Vergleichen von Werten |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt die Differenzmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten
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)
Typparameter
- TSource
Der Typ der Elemente der Eingabesequenzen.
Parameter
- source1
- IQueryable<TSource>
Es wird ein IQueryable<T> zurückgegeben, dessen Elemente nicht auch in source2
enthalten sind.
- source2
- IEnumerable<TSource>
Die Rückgabesequenz enthält kein IEnumerable<T>, dessen Elemente auch in der ersten Sequenz vorhanden sind.
Gibt zurück
Ein IQueryable<T>, das die Differenzmenge der beiden Sequenzen enthält.
Ausnahmen
source1
oder source2
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , um die Elemente zurückzugeben, die nur in der ersten Quellsequenz angezeigt werden.
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
Hinweise
Die Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die CreateQuery<TElement>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft dessource1
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) darstellt, hängt von der Implementierung des Typs des source1
Parameters ab. Das erwartete Verhalten besteht darin, dass alle Elemente in source1
zurückgegeben werden, mit Ausnahme der Elemente, die sich ebenfalls in befinden source2
.
Gilt für:
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt mithilfe des angegebenen IEqualityComparer<T> die Differenzmenge zweier Sequenzen zum Vergleichen von Werten
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)
Typparameter
- TSource
Der Typ der Elemente der Eingabesequenzen.
Parameter
- source1
- IQueryable<TSource>
Es wird ein IQueryable<T> zurückgegeben, dessen Elemente nicht auch in source2
enthalten sind.
- source2
- IEnumerable<TSource>
Die Rückgabesequenz enthält kein IEnumerable<T>, dessen Elemente auch in der ersten Sequenz vorhanden sind.
- comparer
- IEqualityComparer<TSource>
Ein IEqualityComparer<T> zum Vergleichen von Werten.
Gibt zurück
Ein IQueryable<T>, das die Differenzmenge der beiden Sequenzen enthält.
Ausnahmen
source1
oder source2
ist null
.
Hinweise
Die Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die CreateQuery<TElement>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft dessource1
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) darstellt, hängt von der Implementierung des Typs des source1
Parameters ab. Das erwartete Verhalten besteht darin, dass alle Elemente in source1
mit Ausnahme der Elemente zurückgegeben werden, die sich ebenfalls in source2
befinden und comparer
zum Vergleichen von Werten verwendet werden.