使用的String.Format动态地提供填充的最大所需金额(Using String.Format

2019-10-21 13:57发布

你好,我想使我的控制台应用程序分配更多的aesthically赏心悦目,并通过这样做,我已决定实施的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一样,没有错误的区域。

Answer 1:

尝试使用string.PadLeft / string.PadRight增加额外的空间如下

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

对于PadRight它的工作原理是这样

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

甚至还有它让你选择一个角色来填补空间过载。 你可以找到更多关于MSDN 。



文章来源: Using String.Format To Dynamically Provide The Max Amount of Padding Needed