Queryable.SequenceEqual 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.
Bestimmt, ob zwei Sequenzen gleich sind.
Überlädt
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Bestimmt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Elementen, ob zwei Sequenzen gleich sind. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Bestimmt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Elementen, ob zwei Sequenzen gleich sind. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Bestimmt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Elementen, ob zwei Sequenzen gleich sind.
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
Typparameter
- TSource
Der Typ der Elemente der Eingabesequenzen.
Parameter
- source1
- IQueryable<TSource>
Ein IQueryable<T> dessen Elemente mit den Elementen von source2
verglichen werden sollen.
- source2
- IEnumerable<TSource>
Ein IEnumerable<T>, dessen Elemente mit den Elementen der ersten Sequenz verglichen werden sollen.
Gibt zurück
true
, wenn die zwei Quellsequenzen von gleicher Länge sind und ihre entsprechenden Elemente als gleich gelten, andernfalls false
.
Ausnahmen
source1
oder source2
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , um zu bestimmen, ob zwei Sequenzen gleich sind. In diesem Beispiel sind die Sequenzen gleich.
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.
Im folgenden Codebeispiel werden zwei Sequenzen verglichen, die ungleich sind.
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.
Hinweise
Die SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die Execute<TResult>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source1
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) darstellt, hängt von der Implementierung des Typs des source1
Parameters ab. Das erwartete Verhalten ist, dass bestimmt wird, ob die beiden Quellsequenzen gleich sind.
Gilt für:
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Bestimmt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Elementen, ob zwei Sequenzen gleich sind.
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
Typparameter
- TSource
Der Typ der Elemente der Eingabesequenzen.
Parameter
- source1
- IQueryable<TSource>
Ein IQueryable<T> dessen Elemente mit den Elementen von source2
verglichen werden sollen.
- source2
- IEnumerable<TSource>
Ein IEnumerable<T>, dessen Elemente mit den Elementen der ersten Sequenz verglichen werden sollen.
- comparer
- IEqualityComparer<TSource>
Ein IEqualityComparer<T>, der zum Vergleichen von Elementen verwendet werden soll.
Gibt zurück
true
, wenn die zwei Quellsequenzen von gleicher Länge sind und ihre entsprechenden Elemente als gleich gelten, andernfalls false
.
Ausnahmen
source1
oder source2
ist null
.
Hinweise
Die SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die Execute<TResult>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source1
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf SequenceEqual<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 bestimmt wird, ob die beiden Quellsequenzen gleich sind, indem zum comparer
Vergleichen von Elementen verwendet wird.