Queryable.SequenceEqual Queryable.SequenceEqual Queryable.SequenceEqual Queryable.SequenceEqual Method

Definizione

Determina se due sequenze sono uguali.Determines whether two sequences are equal.

Overload

SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Determina se due sequenze sono uguali utilizzando l'operatore di confronto uguaglianze predefinito per confrontare gli elementi.Determines whether two sequences are equal by using the default equality comparer to compare elements.

SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Determina se due sequenze sono uguali utilizzando uno specificato IEqualityComparer<T> per confrontare gli elementi.Determines whether two sequences are equal by using a specified IEqualityComparer<T> to compare elements.

SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Determina se due sequenze sono uguali utilizzando l'operatore di confronto uguaglianze predefinito per confrontare gli elementi.Determines whether two sequences are equal by using the default equality comparer to compare elements.

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

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.The type of the elements of the input sequences.

Parametri

source1
IQueryable<TSource>

Un' IQueryable<T> cui elementi devono venire confrontati con quelli di source2.An IQueryable<T> whose elements to compare to those of source2.

source2
IEnumerable<TSource>

Un IEnumerable<T> cui elementi devono venire confrontati con quelli della prima sequenza.An IEnumerable<T> whose elements to compare to those of the first sequence.

Restituisce

true Se le due sequenze di origine sono di lunghezza uguale e gli elementi corrispondenti risultano uguali. in caso contrario, false.true if the two source sequences are of equal length and their corresponding elements compare equal; otherwise, false.

Eccezioni

source1 o source2 è null.source1 or source2 is null.

Esempi

Esempio di codice seguente viene illustrato come utilizzare SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) per determinare se due sequenze sono uguali.The following code example demonstrates how to use SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) to determine whether two sequences are equal. In questo esempio le sequenze sono uguali.In this example the sequences are equal.

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.

Esempio di codice seguente consente di confrontare due sequenze che non sono uguali.The following code example compares two sequences that are not equal.

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.

Commenti

Il SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) stesso come un metodo generico costruito.The SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) method generates a MethodCallExpression that represents calling SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) itself as a constructed generic method. Passa quindi il MethodCallExpression per il Execute<TResult>(Expression) metodo del IQueryProvider rappresentato dal Provider proprietà del source1 parametro.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

Il comportamento delle query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta una chiamata SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dipende dall'implementazione del tipo del source1 parametro.The query behavior that occurs as a result of executing an expression tree that represents calling SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) depends on the implementation of the type of the source1 parameter. Il comportamento previsto è che determina se le due sequenze di origine sono uguali.The expected behavior is that it determines if the two source sequences are equal.

SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Determina se due sequenze sono uguali utilizzando uno specificato IEqualityComparer<T> per confrontare gli elementi.Determines whether two sequences are equal by using a specified IEqualityComparer<T> to compare elements.

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);
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

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.The type of the elements of the input sequences.

Parametri

source1
IQueryable<TSource>

Un' IQueryable<T> cui elementi devono venire confrontati con quelli di source2.An IQueryable<T> whose elements to compare to those of source2.

source2
IEnumerable<TSource>

Un IEnumerable<T> cui elementi devono venire confrontati con quelli della prima sequenza.An IEnumerable<T> whose elements to compare to those of the first sequence.

comparer
IEqualityComparer<TSource>

Oggetto IEqualityComparer<T> da usare per confrontare gli elementi.An IEqualityComparer<T> to use to compare elements.

Restituisce

true Se le due sequenze di origine sono di lunghezza uguale e gli elementi corrispondenti risultano uguali. in caso contrario, false.true if the two source sequences are of equal length and their corresponding elements compare equal; otherwise, false.

Eccezioni

source1 o source2 è null.source1 or source2 is null.

Commenti

Il SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) stesso come un metodo generico costruito.The SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) method generates a MethodCallExpression that represents calling SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) itself as a constructed generic method. Passa quindi il MethodCallExpression per il Execute<TResult>(Expression) metodo del IQueryProvider rappresentato dal Provider proprietà del source1 parametro.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

Il comportamento delle query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta una chiamata SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dipende dall'implementazione del tipo del source1 parametro.The query behavior that occurs as a result of executing an expression tree that represents calling SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) depends on the implementation of the type of the source1 parameter. Il comportamento previsto è che determina se le due origine sequenze sono uguali utilizzando comparer per confrontare gli elementi.The expected behavior is that it determines if the two source sequences are equal by using comparer to compare elements.

Si applica a