В общем, вопрос заключается в следующем: учитывая список объектов в некотором порядке, где каждый объект имеет флаг, как мне разделить список на подсписки, где каждый подсписок представляет собой все смежные точки, где установлен флаг?
Императивный способ сделать это будет выглядеть следующим образом:
Код: Выделить всё
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, Флаг }, { 2, Флаг }, {3, NoFlag }, {4, Флаг}, {5, NoFlag}, {6, Флаг}...
Мне нужен следующий результат:
Список 1: {1, 2>
Список 2: {4}
Список 3: {6}
И я хотел бы сделать это функционально через LINQ. Есть идеи?
(Сначала я осмотрелся, но все вопросы, которые я видел, похоже, сводились к тому, чтобы просто сгруппировать список или разделить его на равные размеры, что мне не помогло.)
Подробнее здесь: https://stackoverflow.com/questions/746 ... -by-some-c
Мобильная версия