Как сделать запись в прямоугольный массив?

Понимаю что вопрос для школьников, но не смог разобраться как сделать запись уже в существующий массив и его перевывести?

Сам код массива:

string[,] flight_bort = new string [6,7]
            {
                { air1.date + " | ", bort_id + " | ", air1.city + " | ", air1.airline + " | ", air1.terinal + " | ", air1.status + " | ", air1.gate + " | "},
                { air2.date + " | ", bort_id + " | ", air2.city + " | ", air2.airline + " | ", air2.terinal + " | ", air2.status + " | ", air2.gate + " | "},
                { air3.date + " | ", bort_id + " | ", air3.city + " | ", air3.airline + " | ", air3.terinal + " | ", air3.status + " | ", air3.gate + " | "},
                { air4.date + " | ", bort_id + " | ", air4.city + " | ", air4.airline + " | ", air4.terinal + " | ", air4.status + " | ", air4.gate + " | "},
                { air5.date + " | ", bort_id + " | ", air5.city + " | ", air5.airline + " | ", air5.terinal + " | ", air5.status + " | ", air5.gate + " | "},
                { air6.date + " | ", bort_id + " | ", air6.city + " | ", air6.airline + " | ", air6.terinal + " | ", air6.status + " | ", air6.gate + " | "}
                
            };



            for (int i = 0; i < flight_bort.GetLength(0); i++)
            {
                for (int j = 0; j < flight_bort.GetLength(1); j++)
                {
                    Console.Write(flight_bort[i, j]);
                    
                }
                Console.WriteLine();
            }


нужно добавить элемент с такими данными
{ my_date_bort + " | ", my_number_bort + " | ", my_city_bort + " | ", my_avialine_bort + " | ", my_terminal_bort + " | ", my_status_bort + " | ", my_gate_bort + " | "}
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
shlemen_kirill
@shlemen_kirill
.Net Developer
С сайта Майкрософт: Resize Метод изменяет размер только одномерного массива. Array Класс не включает метод для изменения размера многомерных массивов. Для этого необходимо либо предоставить собственный код, либо вызвать Специальный метод в библиотеке стороннего производителя. В следующем коде показана одна возможная реализация метода, который изменяет размер массива из n измерений.
using System;

public class Example
{
   public static void Main()
   {
      int[,] arr = new int[10,2];
      for (int n1 = 0; n1 <= arr.GetUpperBound(0); n1++) {
         arr[n1, 0] = n1;
         arr[n1, 1] = n1 * 2;
      }

      // Make a 2-D array larger in the first dimension.
      arr = (int[,]) ResizeArray(arr, new int[] { 12, 2} );
      for (int ctr = 0; ctr <= arr.GetUpperBound(0); ctr++)
         Console.WriteLine("{0}: {1}, {2}", ctr, arr[ctr, 0], arr[ctr, 1]);
      Console.WriteLine();

      // Make a 2-D array smaller in the first dimension.
      arr = (int[,]) ResizeArray(arr, new int[] { 2, 2} );
      for (int ctr = 0; ctr <= arr.GetUpperBound(0); ctr++)
         Console.WriteLine("{0}: {1}, {2}", ctr, arr[ctr, 0], arr[ctr, 1]);
   }

   private static Array ResizeArray(Array arr, int[] newSizes)
   {
      if (newSizes.Length != arr.Rank)
         throw new ArgumentException("arr must have the same number of dimensions " +
                                     "as there are elements in newSizes", "newSizes");

      var temp = Array.CreateInstance(arr.GetType().GetElementType(), newSizes);
      int length = arr.Length <= temp.Length ? arr.Length : temp.Length;
      Array.ConstrainedCopy(arr, 0, temp, 0, length);
      return temp;
   }
}


По идее тебе нужно воспользоваться методом ResizeArray, который представлен в коде и потом просто добавить необходимые данные.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Dron_000
Berserk/BrainFackMan
List> ?
Там как-то все по мягче...
На c# на производительность не надейся
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы