У меня есть список списков динамики, которые в настоящее время фильтруются через это:Group список в группы по 3 и выбрать максимум из каждой группы
var CPUdataIWant = from s in rawData
where s.stat.Contains("CPU")
select s;
//CPUDataIWant is a List<List<dynamic>>.
У меня есть 86000 значений в каждом внутреннем списке.
И что мне нужно сделать, группирует значения в группы по 3, выбирает максимум этой группы и вставляет их в другой список списка динамиков или просто отфильтровывает его из CPUDataIWant
.
Так пример того, что я хочу бы:
Raw data = 14,5,7,123,5,1,43,87,9
И моя обработанное значение будет:
ProceData = [14,5,7], [123,5,1], [43,87,9]
ProceData = [14,123,87]
Не должно быть с помощью LINQ, но проще, тем лучше.
EDIT: Хорошо, я объяснил, что нужно немного плохо.
вот что у меня есть:
List<List<object>>
В этом списке, я буду иметь X количество списков, называемых А. В А у меня будет 86000 значения, скажем, они Интс сейчас.
То, что я хотел бы, чтобы иметь
List<List<object>>
Но вместо 86000 значения в А, я хочу 28700, который будет сделан из макс каждые 3 значений в А.
Давай, это легко. Итерируйте коллекцию с шагом по три. Проверьте i, i + 1, i + 2, выберите самый большой. Добавьте некоторые граничные проверки. Готово ... – DHN
Можете ли вы немного разобраться, как RawData может быть 14,5,7,123,5,1,43,87,9 ?!разве вы не сказали, что это список списков? – Vitaliy
Хороший вопрос, я основывал свой ответ на примере из 'data'. – phant0m