Windows Dev Center

Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

Enumerable.TakeWhile<TSource>-Methode (IEnumerable<TSource>, Func<TSource, Boolean>)

Gibt Elemente aus einer Sequenz zurück, solange eine angegebene Bedingung true ist.

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

public static IEnumerable<TSource> TakeWhile<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
Typ: System.Collections.Generic.IEnumerable<TSource>
Eine Sequenz, aus der Elemente zurückgegeben werden sollen.
predicate
Typ: System.Func<TSource, Boolean>
Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<TSource>
Ein IEnumerable<T>, das die Elemente aus der Eingabesequenz enthält, die vor dem Element auftreten, bei dem die Überprüfung nicht mehr erfolgreich ist.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IEnumerable<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

source oder predicate ist null.

Diese Methode wird mit verzögerter Ausführung implementiert. Der Wert der sofortigen Rückgabe ist ein Objekt, in dem alle zum Ausführen der Aktion erforderlichen Informationen gespeichert werden. Die von dieser Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt entweder durch den direkten Aufruf der zugehörigen GetEnumerator-Methode oder mithilfe von foreach in Visual C# oder For Each in Visual Basic aufgelistet wird.

Die TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)-Methode überprüft jedes Element von source mithilfe von predicate und gibt das Element zurück, wenn das Ergebnis true ist. Die Enumeration wird beendet, wenn die Prädikatfunktion für ein Element false zurückgibt oder wenn source keine Elemente mehr enthält.

Die TakeWhile-Methode und die SkipWhile-Methode sind funktionale Komplemente. Für eine Sequenz-coll und eine reine Funktion p ergibt das Verketten der Ergebnisse von coll.TakeWhile(p) und coll.SkipWhile(p) eine Sequenz, die mit coll identisch ist.

In der Syntax eines Visual Basic-Abfrageausdrucks wird eine Take While-Klausel in einen Aufruf von TakeWhile übersetzt.

Im folgenden Codebeispiel wird gezeigt, wie mit TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) Elemente ab dem Anfang einer Sequenz zurückgegeben werden, solange eine Bedingung true ist.


            string[] fruits = { "apple", "banana", "mango", "orange", 
                                  "passionfruit", "grape" };

            IEnumerable<string> query =
                fruits.TakeWhile(fruit => String.Compare("orange", fruit, true) != 0);

            foreach (string fruit in query)
            {
                Console.WriteLine(fruit);
            }

            /*
             This code produces the following output:

             apple
             banana
             mango
            */



.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

Anzeigen:
© 2015 Microsoft