(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Queryable.SequenceEqual<TSource>-Methode (IQueryable<TSource>, IEnumerable<TSource>)

Bestimmt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Elementen, ob zwei Sequenzen gleich sind.

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

public static bool SequenceEqual<TSource>(
	this IQueryable<TSource> source1,
	IEnumerable<TSource> source2
)

Typparameter

TSource

Der Typ der Elemente der Eingabesequenzen.

Parameter

source1
Typ: System.Linq.IQueryable<TSource>
Ein IQueryable<T> dessen Elemente mit den Elementen von source2 verglichen werden sollen.
source2
Typ: System.Collections.Generic.IEnumerable<TSource>
Ein IEnumerable<T>, dessen Elemente mit den Elementen der ersten Sequenz verglichen werden sollen.

Rückgabewert

Typ: System.Boolean
true , wenn die zwei Quellsequenzen von gleicher Länge sind und ihre entsprechenden Elemente als gleich gelten, andernfalls false.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IQueryable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) und Erweiterungsmethoden (C#-Programmierhandbuch).

AusnahmeBedingung
ArgumentNullException

source1 oder source2 ist null.

Die SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>)-Methode generiert einen MethodCallExpression, der den Aufruf von SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) durch sich selbst als konstruierte generische Methode darstellt. Anschließend übergibt sie die MethodCallExpression an die Execute<TResult>(Expression)-Methode des IQueryProvider, der von der Provider-Eigenschaft des source1-Parameters dargestellt wird.

Das Abfrageverhalten, das durch das Ausführen einer Ausdrucksbaumstruktur auftritt, die einen Aufruf von SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) darstellt, hängt von der Implementierung des Typs des source1-Parameters ab. Es wird erwartet, dass bestimmt wird, ob zwei Quellsequenzen gleich sind.

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe von SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) bestimmt wird, 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.
            */



Im folgenden Codebeispiel werden zwei Sequenzen verglichen, die nicht gleich 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.
            */



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft