您好我正在尝试使我的控制台应用程序分配更加美观,通过这样做,我决定将String.Format实现到我的循环中。我们还没有被教过,但很容易上手。这里的主要问题是如何将一个int解析为String.Format,以便它提供所需的最大空间。
这是循环:
for (int index = 0; index < files.Length; index++)
{
int maxNumericalSize = 2;
int fileNumberSystem = index + 1;
string result = string.Format("{0,maxNumericalSize}: {1,20} - {2,10} - {3}", fileNumberSystem, files[index].Name, files[index].Length, files[index].LastWriteTime );
/* Console.WriteLine(fileNumberSystem + ". " + files[index].Name + " - " + files[index].Length + " - " + files[index].LastWriteTime); */
Console.WriteLine(result);
}
正如你所看到的,MaxNumericalSize显然抛出了一个区域,因为它在语音标记内,所以我现在想知道如何将其解析为String.Format,就像没有错误一样。
答案 0 :(得分:1)
尝试使用string.PadLeft
/ string.PadRight
添加其他空格,如下所示
string.Format("{0}: {1,20} ..", fileNumberSystem.ToString().PadRight(maxNumericalSize), ...);
对于PadRight
,它的工作原理如下
返回一个新字符串,该字符串左对齐此字符串中的字符 用右边的空格填充它们,达到指定的总长度。
甚至有一个超载让你选择一个角色来填补空间。您可以在MSDN上找到更多信息。