在控制台应用程序中将列表打印为表格

在控制台应用程序中将列表打印为表格

This question already has answers here:
How To: Best way to draw table in console app (C#)

(12个答案)


2年前关闭。




我需要方法在控制台应用程序中将列表打印为表格并以方便的格式进行预览,如下所示:
Pom_No          Item_Code          ordered_qty                      received_qty

1011            Item_Code1         ordered_qty1                    received_qty1

1011            Item_Code2         ordered_qty2                    received_qty2

1011            Item_Code3         ordered_qty3                    received_qty3

1012            Item_Code1         ordered_qty1                    received_qty1

1012            Item_Code2         ordered_qty2                    received_qty2

1012            Item_Code3         ordered_qty3                    received_qty3

最佳答案

您的主要工具是

Console.WriteLine("{0,5} {1,10} {2,-10}", s1, s2, s3);
,5,10是宽度说明符。使用负值左对齐。
格式化也是可能的:
Console.WriteLine("y = {0,12:#,##0.00}", y);
或宽度为24且自定义格式的日期:
String.Format("Now = {0,24:dd HH:mm:ss}", DateTime.Now);

编辑,针对C#6
使用字符串插值,您现在可以编写
Console.WriteLine($"{s1,5} {s2,10} {s3,-10}");
Console.WriteLine($"y = {y,12:#,##0.00}");
您不再需要显式调用String.Format():
string s = $"Now = {DateTime.Now,24:dd HH:mm:ss}" + ", " + $"y = {y,12:#,##0.00}" ;

关于c# - 如何在控制台应用程序中将列表打印为表格? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10160770/

10-11 05:12