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

Joe*_*Joe 24 .net c# string formatting

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

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

我知道这会打印出两列带有标题的值,并{0}引用给定的第一个参数.但是表单格式字符串的含义是什么{x,y}

Dir*_*mar 56

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

.NET String.Format备忘单

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

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???????]

  • 据我所知,这个备忘单是完全错误的!使用了错误的索引,正/负对齐与实际情况相反.因此,要生成`[∙∙∙∙∙∙∙∙Foo]`,你实际上是`String.Format("[{0,10}]","Foo"); (2认同)

dig*_*All 8

当你看到{x,y},x代表争论的指数和y对齐方式,作为指定在这里.完整语法如下:

{index[,alignment][:formatString]}
Run Code Online (Sandbox Code Playgroud)