在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毫无疑问