Строка записи / печать списка массивов с правильным расстоянием

#c# #.net-core

#c# #.net-ядро

Вопрос:

Я ищу способ распечатать мой результат в правильном формате в консоли. У меня есть массив arraylist, который я заполняю массивом, состоящим из трех:

 List<string[]> testlist = new List<string[]>();
string[] cars = { "AAAAA", "TTTTT", "CC" };
testlist .Add(cars);
string[] car2 = { "A", "T", "C" };
testlist .Add(car2);
  

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

 AAAAA  TTTTT  CC 
A      T      C
  

Ответ №1:

Вычислите максимальную длину строки, а затем выпишите строки, заполняя их пробелами (используя PadRight функцию).

 var maxLength = testlist.Max(l => l.Max(s => s.Length));
foreach (var l in testlist)
{
   foreach (var s in l)
       Console.Write(s.PadRight(maxLength   1));
   Console.WriteLine();
}