基本上我想以格式化的方式在控制台中打印列表的内容,如下所示:
然而我现在拥有的是:
Console.WriteLine("\nHistory | B W");
Console.WriteLine("================");
List.AddRange(array1);
List.Add(array2);
List.Add(array3);
foreach (int i in List)
{
Console.Write(i);
}
像这样打印:
非常感谢任何帮助。
答案 0 :(得分:2)
您是否阅读过文档?
Write()
和WriteLine()
重载。 提示: WriteLine()
在写入内容后附加换行符; Write()
没有。我确定你会弄明白。
答案 1 :(得分:0)
如果所有数组具有相同的长度,则最简单的解决方案:
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]);
但我建议您使用自定义类型的数据,而不是将数据保存在三个数组中。例如。 (根据你的意见命名)
public class UserGuess
{
public int AttemptNumber { get; set; }
public int BlacksCount { get; set; }
public int WhitesCount { get; set; }
}
但格式化将保持不变:
foreach(var g in guesses)
Console.WriteLine(rowFormat,
g.AttemptNumber, g.BlacksCount, f.WhitesCount);
注意:作为String.Format文档状态的The format item部分,格式项具有以下语法{ index[,alignment][ :formatString] }
。因此,上面的代码只使用alignment
参数来设置固定的字段总长度。