Queryable.SequenceEqual Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İki sıranın eşit olup olmadığını belirler.
Aşırı Yüklemeler
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Öğeleri karşılaştırmak için varsayılan eşitlik karşılaştırıcısını kullanarak iki dizinin eşit olup olmadığını belirler. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Öğeleri karşılaştırmak için belirtilen IEqualityComparer<T> bir kullanarak iki sıranın eşit olup olmadığını belirler. |
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Öğeleri karşılaştırmak için varsayılan eşitlik karşılaştırıcısını kullanarak iki dizinin eşit olup olmadığını belirler.
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
Tür Parametreleri
- TSource
Giriş dizilerinin öğelerinin türü.
Parametreler
- source1
- IQueryable<TSource>
IQueryable<T> öğeleri ile karşılaştırılan source2
bir .
- source2
- IEnumerable<TSource>
IEnumerable<T> İlk dizinin öğeleriyle karşılaştırılan bir.
Döndürülenler
true
İki kaynak dizisi eşit uzunluktaysa ve karşılık gelen öğeleri eşitse; aksi takdirde , false
.
Özel durumlar
source1
veya source2
şeklindedir null
.
Örnekler
Aşağıdaki kod örneği, iki sıranın eşit olup olmadığını belirlemek için nasıl kullanılacağını SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) gösterir. Bu örnekte diziler eşittir.
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.
Aşağıdaki kod örneği, eşit olmayan iki diziyi karşılaştırır.
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.
Açıklamalar
yöntemi, SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağırmayı SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) temsil eden bir oluşturur. Daha sonra parametresinin özelliği tarafından Provider temsil edilen yöntemine IQueryProvidersource1
iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source1
bağlıdır. Beklenen davranış, iki kaynak dizisinin eşit olup olmadığını belirlemesidir.
Şunlara uygulanır
SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Öğeleri karşılaştırmak için belirtilen IEqualityComparer<T> bir kullanarak iki sıranın eşit olup olmadığını belirler.
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
Tür Parametreleri
- TSource
Giriş dizilerinin öğelerinin türü.
Parametreler
- source1
- IQueryable<TSource>
IQueryable<T> öğeleri ile karşılaştırılan source2
bir .
- source2
- IEnumerable<TSource>
IEnumerable<T> İlk dizinin öğeleriyle karşılaştırılan bir.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> Öğeleri karşılaştırmak için kullanılacak bir.
Döndürülenler
true
İki kaynak dizisi eşit uzunluktaysa ve karşılık gelen öğeleri eşitse; aksi takdirde , false
.
Özel durumlar
source1
veya source2
şeklindedir null
.
Açıklamalar
yöntemi, SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağırmayı SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) temsil eden bir oluşturur. Daha sonra parametresinin özelliği tarafından Provider temsil edilen yöntemine IQueryProvidersource1
iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source1
bağlıdır. Beklenen davranış, öğeleri karşılaştırmak için kullanarak comparer
iki kaynak dizisinin eşit olup olmadığını belirlemesidir.