Queryable.Except Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Produit la différence entre deux séquences.
Surcharges
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Produit la différence entre deux séquences à l'aide du comparateur d'égalité par défaut pour comparer les valeurs. |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Produit la différence entre deux séquences à l'aide du IEqualityComparer<T> spécifié pour comparer les valeurs. |
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Produit la différence entre deux séquences à l'aide du comparateur d'égalité par défaut pour comparer les valeurs.
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)
Paramètres de type
- TSource
Type des éléments des séquences d'entrée.
Paramètres
- source1
- IQueryable<TSource>
Un IQueryable<T> dont les éléments ne se trouvent pas également dans source2
sera retourné.
- source2
- IEnumerable<TSource>
Un IEnumerable<T> dont les éléments apparaissent également dans la première séquence ne figurera pas dans la séquence retournée.
Retours
IQueryable<T> qui contient la différence des deux séquences.
Exceptions
source1
ou source2
est null
.
Exemples
L’exemple de code suivant montre comment utiliser Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) pour retourner les éléments qui apparaissent uniquement dans la première séquence source.
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
Remarques
La Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) méthode génère un MethodCallExpression qui représente l’appel Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété dusource1
paramètre .
Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dépend de l’implémentation du type du source1
paramètre. Le comportement attendu est que tous les éléments dans source1
sont retournés à l’exception de ceux qui se trouvent également dans source2
.
S’applique à
Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Produit la différence entre deux séquences à l'aide du IEqualityComparer<T> spécifié pour comparer les valeurs.
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)
Paramètres de type
- TSource
Type des éléments des séquences d'entrée.
Paramètres
- source1
- IQueryable<TSource>
Un IQueryable<T> dont les éléments ne se trouvent pas également dans source2
sera retourné.
- source2
- IEnumerable<TSource>
Un IEnumerable<T> dont les éléments apparaissent également dans la première séquence ne figurera pas dans la séquence retournée.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> pour comparer les valeurs.
Retours
IQueryable<T> qui contient la différence des deux séquences.
Exceptions
source1
ou source2
est null
.
Remarques
La Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) méthode génère un MethodCallExpression qui représente l’appel Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété dusource1
paramètre .
Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dépend de l’implémentation du type du source1
paramètre. Le comportement attendu est que tous les éléments dans source1
sont retournés à l’exception de ceux qui se trouvent également dans source2
et comparer
qui sont utilisés pour comparer des valeurs.