C# - 如何使用制表符正确缩进字符串数据?
C# - How to Properly Indent String Data with Tabs?
在我的 C# 控制台程序中,我有 4 个变量。它们的名称和类型如下:
int ID
bool Status
bool Available
int Count
我希望能够将它们打印到控制台,缩进如下:
然而,当我使用制表符“\t”来格式化我的字符串时,它没有考虑文本宽度,所有值都随意缩进如下:
我该如何解决这个问题?我不想使用任何第三方库,而只是使用 .NET 功能,例如 String.Format().
你可以用这样的空格填充它们:
Console.WriteLine("{0,-10}\t{1,-5}\t{2,-5}\t{3,-10}", ID, Status, Available, Count);
如果您想 right-align 他们:
Console.WriteLine("{0,10}\t{1,5}\t{2,5}\t{3,10}", ID, Status, Available, Count);
我将填充设置为以字符串形式表示的整数或布尔值的最长可能长度。您可能需要调整它以说明您的列标题。
尝试填充
var data = new string[5,4]
{
{ "ID", "Status", "Available", "Count" },
{ "------", "------", "------", "------" },
{ "1123", "True", "False", "-1" },
{ "23", "False", "True", "-23" },
{ "3", "True", "True", "-1" }
};
for (int i = 0; i < data.GetLength(0); i++)
{
Console.WriteLine("{0,-10}\t{1,-10}\t{2,-10}\t{3,-10}", data[i, 0], data[i, 1], data[i, 2], data[i, 3]);
}
在我的 C# 控制台程序中,我有 4 个变量。它们的名称和类型如下:
int ID
bool Status
bool Available
int Count
我希望能够将它们打印到控制台,缩进如下:
然而,当我使用制表符“\t”来格式化我的字符串时,它没有考虑文本宽度,所有值都随意缩进如下:
我该如何解决这个问题?我不想使用任何第三方库,而只是使用 .NET 功能,例如 String.Format().
你可以用这样的空格填充它们:
Console.WriteLine("{0,-10}\t{1,-5}\t{2,-5}\t{3,-10}", ID, Status, Available, Count);
如果您想 right-align 他们:
Console.WriteLine("{0,10}\t{1,5}\t{2,5}\t{3,10}", ID, Status, Available, Count);
我将填充设置为以字符串形式表示的整数或布尔值的最长可能长度。您可能需要调整它以说明您的列标题。
尝试填充
var data = new string[5,4]
{
{ "ID", "Status", "Available", "Count" },
{ "------", "------", "------", "------" },
{ "1123", "True", "False", "-1" },
{ "23", "False", "True", "-23" },
{ "3", "True", "True", "-1" }
};
for (int i = 0; i < data.GetLength(0); i++)
{
Console.WriteLine("{0,-10}\t{1,-10}\t{2,-10}\t{3,-10}", data[i, 0], data[i, 1], data[i, 2], data[i, 3]);
}