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 den Satzunterschied von zwei Sequenzen.
Überlädt
| Name | Beschreibung |
|---|---|
| Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Erzeugt den Satzunterschied von zwei Sequenzen mithilfe des Standardgleichgleichsabgleichs zum Vergleichen von Werten. |
| Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Erzeugt den Satzunterschied von zwei Sequenzen mithilfe der angegebenen IEqualityComparer<T> Werte zum Vergleichen von Werten. |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt den Satzunterschied von zwei Sequenzen mithilfe des Standardgleichgleichsabgleichs 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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>
Ein IQueryable<T> Element, dessen Elemente nicht ebenfalls source2 zurückgegeben werden.
- source2
- IEnumerable<TSource>
Ein IEnumerable<T> Element, dessen Elemente auch in der ersten Sequenz auftreten, werden nicht in der zurückgegebenen Sequenz angezeigt.
Gibt zurück
Eine IQueryable<T> , die den Satzunterschied der beiden Sequenzen enthält.
- Attribute
Ausnahmen
source1 oder source2 ist null.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) diese Elemente zurückgegeben werden, 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 die MethodCallExpression Methode der CreateQuery<TElement>(Expression)IQueryProvider durch die Provider Eigenschaft dessource1 Parameters dargestellten Methode übergeben.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , hängt von der Implementierung des Typs des source1 Parameters ab. Das erwartete Verhalten besteht darin, dass alle Elemente zurückgegeben werden, mit Ausnahme derjenigen source1 , die sich ebenfalls befinden source2.
Gilt für:
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt den Satzunterschied von zwei Sequenzen mithilfe der angegebenen IEqualityComparer<T> Werte 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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>
Ein IQueryable<T> Element, dessen Elemente nicht ebenfalls source2 zurückgegeben werden.
- source2
- IEnumerable<TSource>
Ein IEnumerable<T> Element, dessen Elemente auch in der ersten Sequenz auftreten, werden nicht in der zurückgegebenen Sequenz angezeigt.
- comparer
- IEqualityComparer<TSource>
Eine IEqualityComparer<T> zum Vergleichen von Werten.
Gibt zurück
Eine IQueryable<T> , die den Satzunterschied der beiden Sequenzen enthält.
- Attribute
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 die MethodCallExpression Methode der CreateQuery<TElement>(Expression)IQueryProvider durch die Provider Eigenschaft dessource1 Parameters dargestellten Methode übergeben.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) , hängt von der Implementierung des Typs des source1 Parameters ab. Das erwartete Verhalten besteht darin, dass alle elemente zurückgegeben werden, mit Ausnahme derjenigen source1 , die sich ebenfalls befinden source2und comparer zum Vergleichen von Werten verwendet werden.