首页 > 解决方案 > 具有正确距离的 WriteLine/Print Arraylist

问题描述

我正在寻找一种在控制台中以正确格式打印结果的方法。我有一个数组arraylist,我正在填充一个由三个组成的数组:

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

当我只使用带有 WriteLine 的 foreach 时,一切都受到标准空间的限制,但我希望每个组的距离相等,就像我使用 gridview 一样:

AAAAA  TTTTT  CC 
A      T      C

标签: c#.net-core

解决方案


计算字符串的最大长度,然后写出用空格填充的字符串(使用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();
}

推荐阅读