Чтение и запись (сохранение) двумерного массива - C#

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

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

Имеется двумерный массив, нужно, чтобы пользователь мог его сохранить, а потом снова открыть.

Решение задачи: «Чтение и запись (сохранение) двумерного массива»

textual
Листинг программы
  1. static int[,] ReadArray(string path)
  2.         {
  3.             int[,] arr;
  4.             using (StreamReader sr = new StreamReader(path))
  5.             {
  6.                 int n = int.Parse(sr.ReadLine()); //число строк
  7.                 int m = int.Parse(sr.ReadLine()); //число столбцов
  8.                 arr = new int[n, m];
  9.                 for (int i = 0; i < n; i++)
  10.                 {
  11.                     //Считываем очередную строку из файла, в которой хранятся значения столбцов текущей строки
  12.                     //Методом Split разбиваем ее по пробелам и заполняем массив.
  13.                     string temp = sr.ReadLine();
  14.                     string[] line = temp.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  15.                     for (int j = 0; j < m; j++)
  16.                     {
  17.                         arr[i, j] = int.Parse(line[j]);
  18.                     }
  19.                 }
  20.             }
  21.             return arr;
  22.         }
  23.         static void WriteArray(string path, int[,] array)
  24.         {
  25.             using (StreamWriter sw = new StreamWriter(path, false))
  26.             {
  27.                 sw.WriteLine(array.GetLength(0));
  28.                 sw.WriteLine(array.GetLength(1));
  29.                 for (int i = 0; i < array.GetLength(0); i++)
  30.                 {
  31.                     string[] line = new string[array.GetLength(1)];
  32.                     for (int j = 0; j < array.GetLength(1); j++)
  33.                     {
  34.                         //Cобираем в строковый массив столбцы текущей строки массива
  35.                         line[j] = array[i, j].ToString();
  36.                     }
  37.                     //Метод Join() склеивает элементы массива line в одну строку, разделяя их пробелами
  38.                     sw.WriteLine(String.Join(" ", line));
  39.                 }
  40.             }
  41.         }

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


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

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

6   голосов , оценка 4 из 5

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

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

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