列表中的C#数组以格式化方式打印到控制台

列表中的C#数组以格式化方式打印到控制台,c#,arrays,list,console,C#,Arrays,List,Console,基本上,我希望在控制台中以如下格式打印列表的内容: 然而,我目前拥有: Console.WriteLine("\nHistory | B W"); Console.WriteLine("================"); List.AddRange(array1); List.Add(array2); List.Add(array3); foreach (int i in List) { Console.Write(i); } 按如下方式打印: 非常感谢您的帮助。如果所

基本上,我希望在控制台中以如下格式打印列表的内容:

然而,我目前拥有:

Console.WriteLine("\nHistory |  B W");
Console.WriteLine("================");

List.AddRange(array1);
List.Add(array2);
List.Add(array3);

foreach (int i in List)
 {
   Console.Write(i);
 }
按如下方式打印:


非常感谢您的帮助。

如果所有阵列长度相同,最简单的解决方案是:

string rowFormat = "{0,15}|{1,3} {2,3}";
Console.WriteLine(rowFormat, "History", "B", "W");
Console.WriteLine(new String('=', 25));

for(int i = 0; i < array1.Length; i++)    
    Console.WriteLine(rowFormat, array1[i], array2[i], array3[i]);
但格式将保持不变:

foreach(var g in guesses)
    Console.WriteLine(rowFormat, 
       g.AttemptNumber, g.BlacksCount, f.WhitesCount);

注意:正如关于String.Format文档的一节所述,Format项具有以下语法
{index[,alignment][:formatString]}
。因此,上面的代码只使用
对齐
参数来设置固定的字段总长度。

您读过文档了吗

  • 。特别是,请查看各种
    Write()
    WriteLine()
    重载提示:
    WriteLine()
    在所写内容的末尾附加一个换行符<代码>写入()

我相信你会明白的。

什么是
列表
?什么是
阵列1
?什么是
array2
?什么是
阵列3
?您有哪些数据?列表是一个包含数组1、数组2、数组3中信息的列表。Array1是历史,array2是B,array3是W。数据只是我用来演示的随机整数。谢谢您您的列表应该是包含3个字段的某种类型的复杂对象的列表。事实上,您无法知道列表何时到达“行尾”,甚至无法知道第一个字段的末尾和第二个字段的开头之间的行在哪里。在修复数据模型之前,您无法正确显示它。@user3352356所有数组的项数都相同?@SergeyBerezovskiy是的,它们都是相同的大小,我倾向于同意,只是我不能使用。在应用程序运行之前,长度和数组大小都是用户定义的,所以不知道。@user3352356所以数组不是数组?您有什么数据类型?所有的数据类型都使用整数,但是当询问用户数组需要多大时,数组被声明为大小A(A是用户输入的整数)。所以int[]array=newint[A]@user3352356所以数据类型是array。你能解释一下为什么
Length
对你来说不可用吗?挑战是除了循环和基本代码之外,不要使用任何东西。很明显,长度不属于。。。。
foreach(var g in guesses)
    Console.WriteLine(rowFormat, 
       g.AttemptNumber, g.BlacksCount, f.WhitesCount);