我是C#编程的新手。有人可以解释下面的代码:
Console.WriteLine( "{0}{1,10}", "Face", "Frequency" ); //Headings
Console.WriteLine( "{0,4}{1,10}",someval,anotherval);
据我所知,这会打印两列带有标题的值,{0}
指的是给定的第一个参数。但是{x,y}
形式的格式字符串是什么意思?
答案 0 :(得分:56)
它在左侧添加了填充。对于记住各种字符串格式化模式非常有用的是以下备忘单:
正值向左添加填充,向右添加填充
Sample Generates String.Format("[{0, 10}]", "Foo"); [∙∙∙∙∙∙∙Foo] String.Format("[{0, 5}]", "Foo"); [∙∙Foo] String.Format("[{0, -5}]", "Foo"); [Foo∙∙] String.Format("[{0, -10}]", "Foo"); [Foo∙∙∙∙∙∙∙]
答案 1 :(得分:8)
当您看到{x,y}
时,x
表示参数的索引,y
表示对齐,如指定的here。完整语法如下:
{index[,alignment][:formatString]}
答案 2 :(得分:3)
这是一个填充值...如果参数不是指定的长度,则将空格放入。
E.g。如果你有{0,10}并且{0}的参数是“Blah”,那么打印的实际值将是"Blah<SPACE><SPACE><SPACE><SPACE><SPACE><SPACE>"
... Blah,有6个额外的空格来组成一个10长度的字符串
ps - 不确定如何将实际空间放入...需要查找SO faq毫无疑问