У меня есть простое утверждение LINQ, которое составляет огромный список из примерно 8 миллиардов предметов. Каждый из элементов затем проходит по циклу, и над элементом выполняется операция. Проблема в том, что foreach даже не запускается, пока список не будет полностью создан. Можно ли использовать LINQ и заставить его выполнять foreach для каждого элемента при его создании вместо ожидания?
Я не делаю ничего в списке, как сортировка. Просто построение списка.
Редактировать: Это может показаться странным, но у меня есть несколько строк базы данных с несколькими числовыми значениями. Я знаю, что некоторая арифметическая комбинация этих значений дает желаемое число, но я не уверен, какое именно. Таким образом я создал следующий LINQ:
(
from I1 in Items
from I2 in Items
from I3 in Items
from I4 in Items
select new Item[] { I1, I2, I3, I4 }
).ToList().ForEach(x => CalculateValues(x);
Я сделал вышеупомянутое утверждение для 1 пункта, затем для 2 пунктов и так далее. Мой компьютер некоторое время зависал на 3 предметах с примерно 28 миллионами предметов.
Я знаю, что это неэффективно, но я собирался сделать быструю программу для запуска в одночасье.