在Console.WriteLine方法中格式化字符串

我是C#编程的新手。 有人可以解释下面的代码:

Console.WriteLine( "{0}{1,10}", "Face", "Frequency" ); //Headings Console.WriteLine( "{0,4}{1,10}",someval,anotherval); 

我知道这会打印两列值,并给出标题, {0}指的是给定的第一个参数。 但{x,y}forms的格式字符串的含义是什么?

它在左边添加了填充。 对于记住各种字符串格式化模式非常有用的是以下备忘单:

.NET String.Format备忘单

正值向左添加填充,向右添加负填充

样本生成
 String.Format(“[{0,10}]”,“Foo”);  [∙∙∙∙∙∙∙美孚]
 String.Format(“[{0,5}]”,“Foo”);  [∙∙美孚]
 String.Format(“[{0,-5}]”,“Foo”);  [富∙∙]
 String.Format(“[{0,-10}]”,“Foo”);  [富∙∙∙∙∙∙∙]

当您看到{x,y}x表示参数的索引, y表示对齐,如此处所指定的。 完整语法如下:

 {index[,alignment][:formatString]} 

请检查一下非常好的字符串格式参考。

这是一个填充值…如果参数不是指定的长度,则将空格放入。

例如,如果您有{0,10}并且{0}的参数是“Blah”,则打印的实际值将是"Blah" 。 .Blah,有6个额外的空格来组成一个10长的字符串

ps – 不确定如何将实际空间放入…需要查找SO faq毫无疑问