2007-09-28

TakeWhile

TakeWhile-Operator steht in dieser Version für LINQ to SQL nicht zur Verfügung. Dieser Operator kann mit LINQ to Objects verwendet werden.

Mit TakeWhile werden in der Quelle vorhandene Elemente sequentiell verarbeitet. Diese sequentielle Verarbeitung dauert solange bis die mitgegebene Bedingung einen true-Wert zurückliefert. Es werden Elemente bis zu dieser Stelle als Resultat zurückgeliefert.

Im Beispiel verwenden wir einen String-Array als Datenquelle. In der Datenquelle sind die Buchstaben von a bis h vorhanden.

string[] source = {"a", "b", "c", "d", "e", "f", "g", "h"};

Wir möchten in unserer Quelle die Elemente sequentiell durchgehen und die Elemente als Resultat zurückliefert bis der Bedingung erfüllt ist.

Als Resultat erwarten wir die Buchstaben a bis d.

Lambda Expression
string[] src = {"a", "b", "c", "d", "e", "f", "g", "h"};
IEnumerable rslt = src.TakeWhile(c => c != "e");

Resultat
Als Resultat liefert die Lambda Expression die Buchstaben von a bis d.

No comments: