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

Definizione

Consente di determinare 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 un oggetto IEqualityComparer<T> specificato 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 oggetto 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 oggetto IEnumerable<T> i 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

Nell'esempio di codice riportato di seguito viene SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) illustrato come utilizzare 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.

Nell'esempio di codice seguente vengono confrontate 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 oggetto che rappresenta SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) la chiamata a se stesso come 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 MethodCallExpression IQueryProvider quindi al source1 metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)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 della query che si verifica in seguito all'esecuzione di un albero delle espressioni che SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) rappresenta la chiamata dipende dall'implementazione del tipo source1 di 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 un oggetto IEqualityComparer<T> specificato 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 oggetto 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 oggetto IEnumerable<T> i 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 oggetto che rappresenta SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) la chiamata a se stesso come 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 MethodCallExpression IQueryProvider quindi al source1 metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)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 della query che si verifica in seguito all'esecuzione di un albero delle espressioni che SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) rappresenta la chiamata dipende dall'implementazione del tipo source1 di 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 sequenze di origine sono uguali usando 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