Generell ausgedrückt lautet die Frage: Wie kann ich bei einer gegebenen Liste von Objekten in einer bestimmten Reihenfolge, in der jedes Objekt ein Flag hat, die Liste in Unterlisten aufteilen, wobei jede Unterliste alle zusammenhängenden Punkte enthält, an denen das Flag gesetzt ist?
Eine zwingende Möglichkeit, dies zu tun, wäre wie der folgende Pseudocode:
Code: Select all
foreach object obj
if(obj.FlagSet)
add it to my currentsublist
else
skip to the next obj where FlagSet and start a new sublist
{ 1, Flag }, { 2, Flag }, {3, NoFlag }, {4, Flag}, {5, NoFlag}, {6, Flag}...
Ich hätte gerne die folgende Ausgabe:
Liste 1: {1, 2}
Liste 2: {4}
Liste 3: {6}
Und ich würde es gerne funktional über LINQ machen. Irgendwelche Ideen?
(Ich habe mich zuerst umgesehen, aber alle Fragen, die ich sehen konnte, schienen entweder einfach eine Liste zu gruppieren oder in gleiche Größen aufzuteilen, was für mich nicht hilfreich war.)
Mobile version