使用不同长度的字符串在C#控制台应用程序中格式化表

时间:2010-12-14 02:46:25

标签: c# formatting console

我查看了网站,找不到任何专门针对此问题的内容。

我有一个循环访问的控制台应用程序,查找7到20个字符之间的字符串,加上日期/时间,加上一个标记,再加上文件。

    Console.Write("=========================================================================");
Console.WriteLine("Start time: " + DateTime.UtcNow);
Console.Write("=========================================================================");
Console.WriteLine("All times in UTC.");
Console.Write("=========================================================================");
Console.WriteLine(String.Format("{0,-8}{1,17}{2,37}{3,13}", "Time", "File:Offset", "F", "String"));
Console.Write("=========================================================================");

问题是字符串和文件名+路径可以改变长度。输出使用相同的字符串格式,但根据文件名的长度,格式化是关闭的。

是否有办法让控制台每次都在固定位置开始写项目 所以Time从0开始,file:offsett从17开始,F从37开始,String从40开始。这样它的格式正确。此外,这可能会更高级,但它可以截断任何不适合列的东西吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在c#中使用PadLeft字符串函数来实现您想要的功能

此处有更多信息http://msdn.microsoft.com/en-us/library/system.string.padleft(v=vs.71).aspx