如何:在控制台应用程序(C#)中绘制表格的最佳方法

我有一个有趣的问题。想象一下,我有很多数据以非常快的时间间隔进行更改。我想将该数据显示为控制台应用程序中的表格。外汇:

-------------------------------------------------------------------------

| Column 1 | Column 2 | Column 3 | Column 4 |

-------------------------------------------------------------------------

| | | | |

| | | | |

| | | | |

-------------------------------------------------------------------------

如何保持快速运行以及如何固定列宽?我知道如何在Java中执行此操作,但我不知道如何在C#中执行此操作。

回答:

您可以执行以下操作:

static int tableWidth = 73;

static void Main(string[] args)

{

Console.Clear();

PrintLine();

PrintRow("Column 1", "Column 2", "Column 3", "Column 4");

PrintLine();

PrintRow("", "", "", "");

PrintRow("", "", "", "");

PrintLine();

Console.ReadLine();

}

static void PrintLine()

{

Console.WriteLine(new string('-', tableWidth));

}

static void PrintRow(params string[] columns)

{

int width = (tableWidth - columns.Length) / columns.Length;

string row = "|";

foreach (string column in columns)

{

row += AlignCentre(column, width) + "|";

}

Console.WriteLine(row);

}

static string AlignCentre(string text, int width)

{

text = text.Length > width ? text.Substring(0, width - 3) + "..." : text;

if (string.IsNullOrEmpty(text))

{

return new string(' ', width);

}

else

{

return text.PadRight(width - (width - text.Length) / 2).PadLeft(width);

}

}

以上是 如何:在控制台应用程序(C#)中绘制表格的最佳方法 的全部内容, 来源链接: utcz.com/qa/413447.html

回到顶部