2007-09-28

SkipWhile

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

Mit SkipWhile werden in der Quelle vorhandene Elemente sequentiell verarbeitet. Diese sequentielle Verarbeitung dauert solange bis die mitgegebene Bedingung einen true-Wert zurückliefert. Ab dieser stelle werden die restlichen Elemente 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 bis der Bedingung erfüllt ist, diese Elemente ignorieren. Sobald der Bedingung erfüllt ist werden wir die Verarbeitung stoppen und die ab dieser Stelle die restlichen Elemente als Resultat zurückgeben.

Als Resultat erwarten wir die Buchstaben e bis h.

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

Resultat
Als Resultat liefert die Lambda Expression die Buchstaben von e bis h. Die Buchstaben a bis d wurden bei der sequentiellen Verarbeitung übersprungen.

No comments: