Декартово произведение динамического массива с использованием исключения 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 комбинаций, которые я выбрал лучшую (основываясь на моей бизнес-логике), сохранил ее в другом списке и очистил список комбинаций, это помогло мне решить мою проблему.

Другие вопросы по тегам