Декартово произведение динамического массива с использованием исключения linq C# throw из памяти
Я следил за этим
http://blogs.msdn.com/b/ericlippert/archive/2010/06/28/computing-a-cartesian-product-with-linq.aspx
и создал динамический запрос linq для вычисления декартового произведения.
У меня есть 10 элементов массива, в каждом есть 100 элементов.
A[100]
B[100]
C[100]
.
.
.
J[100]
Когда я пытаюсь вычислить декартово произведение моего массива от A до J, я получаю исключение из памяти.
Я уверен, что кто-то уже мог столкнуться с подобной проблемой. Было бы здорово, если бы вы могли дать мне решение этой проблемы.
1 ответ
Я понял это, я фактически сохранял результат комбинации в списке, который вызвал это исключение вне памяти. Вместо того, чтобы хранить все комбинации, я сделал следующее: для каждой 10000 комбинаций, которые я выбрал лучшую (основываясь на моей бизнес-логике), сохранил ее в другом списке и очистил список комбинаций, это помогло мне решить мою проблему.