Queryable.SequenceEqual Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan apakah dua urutan sama.
Overload
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Menentukan apakah dua urutan sama dengan menggunakan perbandingan kesetaraan default untuk membandingkan elemen. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Menentukan apakah dua urutan sama dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> elemen. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Menentukan apakah dua urutan sama dengan menggunakan perbandingan kesetaraan default untuk membandingkan elemen.
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
Jenis parameter
- TSource
Jenis elemen urutan input.
Parameter
- source1
- IQueryable<TSource>
Elemen IQueryable<T> yang dibandingkan dengan source2
elemen dari .
- source2
- IEnumerable<TSource>
Yang IEnumerable<T> elemennya dibandingkan dengan urutan pertama.
Mengembalikan
true
jika kedua urutan sumber memiliki panjang yang sama dan elemen yang sesuai dibandingkan; jika tidak, false
.
Pengecualian
source1
atau source2
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) untuk menentukan apakah dua urutan sama. Dalam contoh ini urutannya sama.
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.
Contoh kode berikut membandingkan dua urutan yang tidak sama.
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.
Keterangan
Metode ini SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source1
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) tergantung pada implementasi jenis source1
parameter. Perilaku yang diharapkan adalah menentukan apakah kedua urutan sumber sama.
Berlaku untuk
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Menentukan apakah dua urutan sama dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> elemen.
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
Jenis parameter
- TSource
Jenis elemen urutan input.
Parameter
- source1
- IQueryable<TSource>
Elemen IQueryable<T> yang dibandingkan dengan source2
elemen dari .
- source2
- IEnumerable<TSource>
Yang IEnumerable<T> elemennya dibandingkan dengan urutan pertama.
- comparer
- IEqualityComparer<TSource>
Untuk IEqualityComparer<T> digunakan untuk membandingkan elemen.
Mengembalikan
true
jika kedua urutan sumber memiliki panjang yang sama dan elemen yang sesuai dibandingkan; jika tidak, false
.
Pengecualian
source1
atau source2
adalah null
.
Keterangan
Metode ini SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source1
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) tergantung pada implementasi jenis source1
parameter. Perilaku yang diharapkan adalah menentukan apakah kedua urutan sumber sama dengan menggunakan comparer
untuk membandingkan elemen.