Как изменить размер двумерного массива? - C#

Узнай цену своей работы

Формулировка задачи:

Вот часть кода, создающая массив. По идее массив должен быть динамическим. Но в C# я не нашел "адекватного" способа это сделать. Поэтому забил (Цитата с этого форума -"Следует отметить, что динамический массив может быть только одномерным. Нижняя граница его индекса равна 0, а количество содержащихся в нем элементов возвращает его свойство Length.") Я создаю статический массив, из миллиона записей и 11 элементов. (да 50-100 мб памяти впустую, а жаль некрасиво) Далее заполняю (изменяю) его элементы, попутно подсчитывая номер последнего измененного элемента.
Листинг программы
  1. public static int excel_array_records_count = 0; //Количество непустых записей в массиве - глобальная переменная
  2. public static string[,] excel_array = new string[1000000, 11]; //Глобальный двумерный массив (первый элемент пустой)
  3. public void create_excel_array(string file_path)
  4. {
  5. //Тут код
  6. excel_array_records_count++;
  7. excel_array[excel_array_records_count, 1] = ((excel_worksheet.Cells[c, column_1]).Value ?? string.Empty).ToString();
  8. excel_array[excel_array_records_count, 1] = ((excel_worksheet.Cells[c, column_2]).Value ?? string.Empty).ToString();
  9. //Тут код
  10. }
Теперь мне надо изменить его размер, по возможности с минимальным использованием памяти. Как это сделать?

Решение задачи: «Как изменить размер двумерного массива?»

textual
Листинг программы
  1.           string[][][] arr = new string[0][][];
  2.             Meth(out arr);
  3.             for (int i = 0; i < arr.Length; i++)
  4.             {
  5.                 Array.Resize<string[]>(ref arr[i], arr[i].Length + 1);
  6.             }
  7.  
  8.         public void Meth(out string[][][] arr)
  9.         {
  10.             arr = new string[10][][];
  11.             for (int i = 0; i < arr.Length; i++)
  12.             {
  13.                 arr[i] = new string[1][];
  14.                 arr[i][0] = new string[1];
  15.             }
  16.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы