使用 String.Format 动态提供所需的最大填充量

本文关键字:填充 Format String 动态 使用 | 更新日期: 2023-09-27 18:36:43

您好,我正在尝试使我的控制台应用程序分配更加美观,通过这样做,我决定在我的循环中实现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 而不会出现错误。

使用 String.Format 动态提供所需的最大填充量

尝试使用 string.PadLeft/string.PadRight 添加其他空格,如下所示

string.Format("{0}: {1,20} ..", fileNumberSystem.ToString().PadRight(maxNumericalSize), ...);

对于PadRight

的工作原理是这样的

返回一个新字符串,该字符串将此字符串中的字符左对齐 在右侧用空格填充它们,以达到指定的总长度。

甚至还有一个重载,让你选择一个角色来填充空间。您可以在 MSDN 上找到更多信息。