Queryable.SequenceEqual 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.
Détermine si deux séquences sont égales.
Surcharges
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Détermine si deux séquences sont égales à l'aide du comparateur d'égalité par défaut pour comparer des éléments. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Détermine si deux séquences sont égales à l'aide d'un IEqualityComparer<T> spécifié pour comparer des éléments. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Détermine si deux séquences sont égales à l'aide du comparateur d'égalité par défaut pour comparer des éléments.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static bool SequenceEqual(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2);
public static bool SequenceEqual<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);
static member SequenceEqual : System.Linq.IQueryable<'Source> * seq<'Source> -> bool
<Extension()>
Public Function SequenceEqual(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource)) As Boolean
Paramètres de type
- TSource
Type des éléments des séquences d'entrée.
Paramètres
- source1
- IQueryable<TSource>
IQueryable<T> dont les éléments sont à comparer à ceux de source2
.
- source2
- IEnumerable<TSource>
IEnumerable<T> dont les éléments sont à comparer à ceux de la première séquence.
Retours
true
si les deux séquences sources sont de longueur égale et que leurs éléments correspondants sont égaux ; sinon, false
.
Exceptions
source1
ou source2
est null
.
Exemples
L’exemple de code suivant montre comment utiliser SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) pour déterminer si deux séquences sont égales. Dans cet exemple, les séquences sont égales.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void SequenceEqualEx1()
{
Pet pet1 = new Pet { Name = "Turbo", Age = 2 };
Pet pet2 = new Pet { Name = "Peanut", Age = 8 };
// Create two lists of pets.
List<Pet> pets1 = new List<Pet> { pet1, pet2 };
List<Pet> pets2 = new List<Pet> { pet1, pet2 };
// Determine if the lists are equal.
bool equal = pets1.AsQueryable().SequenceEqual(pets2);
Console.WriteLine(
"The lists {0} equal.",
equal ? "are" : "are not");
}
/*
This code produces the following output:
The lists are equal.
*/
Class Pet
Public Name As String
Public Age As Integer
End Class
Shared Sub SequenceEqualEx1()
Dim pet1 As New Pet With {.Name = "Turbo", .Age = 2}
Dim pet2 As New Pet With {.Name = "Peanut", .Age = 8}
' Create two lists of pets.
Dim pets1 As New List(Of Pet)(New Pet() {pet1, pet2})
Dim pets2 As New List(Of Pet)(New Pet() {pet1, pet2})
' Determine if the lists are equal.
Dim equal As Boolean = pets1.AsQueryable().SequenceEqual(pets2)
' Display the output.
Dim text As String = IIf(equal, "are", "are not")
MsgBox("The lists " & text & " equal.")
End Sub
'This code produces the following output:
'The lists are equal.
L’exemple de code suivant compare deux séquences qui ne sont pas égales.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void SequenceEqualEx2()
{
Pet pet1 = new Pet() { Name = "Turbo", Age = 2 };
Pet pet2 = new Pet() { Name = "Peanut", Age = 8 };
// Create two lists of pets.
List<Pet> pets1 = new List<Pet> { pet1, pet2 };
List<Pet> pets2 = new List<Pet> {
new Pet { Name = "Turbo", Age = 2 },
new Pet { Name = "Peanut", Age = 8 }
};
// Determine if the lists are equal.
bool equal = pets1.AsQueryable().SequenceEqual(pets2);
Console.WriteLine("The lists {0} equal.", equal ? "are" : "are NOT");
}
/*
This code produces the following output:
The lists are NOT equal.
*/
Class Pet
Public Name As String
Public Age As Integer
End Class
Shared Sub SequenceEqualEx2()
Dim pet1 As New Pet With {.Name = "Turbo", .Age = 2}
Dim pet2 As New Pet With {.Name = "Peanut", .Age = 8}
' Create two lists of pets.
Dim pets1 As New List(Of Pet)()
pets1.Add(pet1)
pets1.Add(pet2)
Dim pets2 As New List(Of Pet)()
pets2.Add(New Pet With {.Name = "Turbo", .Age = 2})
pets2.Add(New Pet With {.Name = "Peanut", .Age = 8})
' Determine if the lists are equal.
Dim equal As Boolean = pets1.AsQueryable().SequenceEqual(pets2)
' Display the output.
Dim text As String = IIf(equal, "are", "are not")
MsgBox("The lists " & text & " equal.")
End Sub
' This code produces the following output:
' The lists are not equal.
Remarques
La SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) méthode génère un MethodCallExpression qui représente l’appel SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la Execute<TResult>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source1
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 SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dépend de l’implémentation du type du source1
paramètre. Le comportement attendu est qu’il détermine si les deux séquences sources sont égales.
S’applique à
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Détermine si deux séquences sont égales à l'aide d'un IEqualityComparer<T> spécifié pour comparer des éléments.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static bool SequenceEqual(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static bool SequenceEqual<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static bool SequenceEqual<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member SequenceEqual : System.Linq.IQueryable<'Source> * seq<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> bool
<Extension()>
Public Function SequenceEqual(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource), comparer As IEqualityComparer(Of TSource)) As Boolean
Paramètres de type
- TSource
Type des éléments des séquences d'entrée.
Paramètres
- source1
- IQueryable<TSource>
IQueryable<T> dont les éléments sont à comparer à ceux de source2
.
- source2
- IEnumerable<TSource>
IEnumerable<T> dont les éléments sont à comparer à ceux de la première séquence.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> à utiliser pour comparer les éléments.
Retours
true
si les deux séquences sources sont de longueur égale et que leurs éléments correspondants sont égaux ; sinon, false
.
Exceptions
source1
ou source2
est null
.
Remarques
La SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) méthode génère un MethodCallExpression qui représente l’appel SequenceEqual<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 Execute<TResult>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source1
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 SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dépend de l’implémentation du type du source1
paramètre. Le comportement attendu est qu’il détermine si les deux séquences sources sont égales en utilisant comparer
pour comparer des éléments.