Размер массива объекта исключения OutofMemory

Я пытаюсь записать данные электронной таблицы в двухмерный массив. Я пользуюсь VSTO.

int rc = 1048576;
int cc = 1638;

string[,] arr = new string[rc, cc];

Последняя строка выдает исключение Out of Memory. Я хотел бы показать сообщение, сообщающее пользователю только «X»; элементы могут быть захвачены.

Проверено MSDN и существует ограничение числа строк в 16 777 216. Нет ограничений по количеству столбцов для данных. Не могу найти предел либо для 2D-массива.

Моя проблема не с тем, ПОЧЕМУ исключение. То, что я ищу, - это если вы занимаетесь разработкой VSTO и вам нужно было записать лист в DataTable для выполнения соединений в памяти и т. Д., Вам нужно будет сделать следующее:

string[,] arr = new string[rc, cc]; 
Microsoft.Office.Interop.Excel.Range selection 
arr = selection.Value as string[,]; 

а затем скопировать данные из этого массива в Dataatable. Теперь, какой будет идеальный предел для количества элементов, которые должен выбрать пользователь. Так что я могу установить, что rowcount / columncount lmits и отображать сообщение, когда выбор превышает этот критерий.

Ответы на вопрос(2)

Ваш ответ на вопрос