Queryable.Except Methode

Definition

Erzeugt die Differenzmenge von zwei SequenzenProduces the set difference of two sequences.

Überlädt

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

Erzeugt mithilfe des angegebenen IEqualityComparer<T> die Differenzmenge zweier Sequenzen zum Vergleichen von WertenProduces the set difference of two sequences by using the specified IEqualityComparer<T> to compare values.

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

Erzeugt die Differenzmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von WertenProduces the set difference of two sequences by using the default equality comparer to compare values.

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

Erzeugt mithilfe des angegebenen IEqualityComparer<T> die Differenzmenge zweier Sequenzen zum Vergleichen von WertenProduces the set difference of two sequences by using the specified IEqualityComparer<T> to compare values.

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.The type of the elements of the input sequences.

Parameter

source1
IQueryable<TSource>

Es wird ein IQueryable<T> zurückgegeben, dessen Elemente nicht auch in source2 enthalten sind.An IQueryable<T> whose elements that are not also in source2 will be returned.

source2
IEnumerable<TSource>

Die Rückgabesequenz enthält kein IEnumerable<T>, dessen Elemente auch in der ersten Sequenz vorhanden sind.An IEnumerable<T> whose elements that also occur in the first sequence will not appear in the returned sequence.

comparer
IEqualityComparer<TSource>

Ein IEqualityComparer<T> zum Vergleichen von Werten.An IEqualityComparer<T> to compare values.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das die Differenzmenge der beiden Sequenzen enthält.An IQueryable<T> that contains the set difference of the two sequences.

Ausnahmen

source1 oder source2 ist null.source1 or source2 is null.

Hinweise

Die- Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) Methode generiert einen, der den MethodCallExpression Aufruf von Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sich selbst als konstruierte generische Methode darstellt.The Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) method generates a MethodCallExpression that represents calling Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) itself as a constructed generic method. Anschließend übergibt Sie MethodCallExpression an die- CreateQuery<TElement>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source1 Parameters dargestellt wird.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of thesource1 parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) hängt von der Implementierung des Typs des source1 Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) depends on the implementation of the type of the source1 parameter. Das erwartete Verhalten ist, dass alle Elemente in source1 zurückgegeben werden, mit Ausnahme derjenigen, die auch in source2 und comparer zum Vergleichen von Werten verwendet werden.The expected behavior is that all the elements in source1 are returned except for those that are also in source2, and comparer is used to compare values.

Gilt für:

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

Erzeugt die Differenzmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von WertenProduces the set difference of two sequences by using the default equality comparer to compare values.

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.The type of the elements of the input sequences.

Parameter

source1
IQueryable<TSource>

Es wird ein IQueryable<T> zurückgegeben, dessen Elemente nicht auch in source2 enthalten sind.An IQueryable<T> whose elements that are not also in source2 will be returned.

source2
IEnumerable<TSource>

Die Rückgabesequenz enthält kein IEnumerable<T>, dessen Elemente auch in der ersten Sequenz vorhanden sind.An IEnumerable<T> whose elements that also occur in the first sequence will not appear in the returned sequence.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das die Differenzmenge der beiden Sequenzen enthält.An IQueryable<T> that contains the set difference of the two sequences.

Ausnahmen

source1 oder source2 ist null.source1 or source2 is null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie verwendet wird, Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) um die Elemente zurückzugeben, die nur in der ersten Quell Sequenz angezeigt werden.The following code example demonstrates how to use Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) to return those elements that only appear in the first source sequence.

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 einen, der den MethodCallExpression Aufruf von Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sich selbst als konstruierte generische Methode darstellt.The Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) method generates a MethodCallExpression that represents calling Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) itself as a constructed generic method. Anschließend übergibt Sie MethodCallExpression an die- CreateQuery<TElement>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source1 Parameters dargestellt wird.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of thesource1 parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) hängt von der Implementierung des Typs des source1 Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) depends on the implementation of the type of the source1 parameter. Das erwartete Verhalten ist, dass alle Elemente in source1 zurückgegeben werden, mit Ausnahme derjenigen, die auch in sind source2 .The expected behavior is that all the elements in source1 are returned except for those that are also in source2.

Gilt für: