Console.WriteLine( "Year{0,20}", "Amount on deposit" );
输出:Year Amount on deposit
根据我的理解,16个空格应该跟“年”一词。但是,正如你所看到的那样,情况并非如此。这个词后面只有4个空格。代码的解释方式是否与我理解的方式不同?
感谢。
答案 0 :(得分:2)
实际上有三个空格。添加符号以帮助您了解正在发生的事情:
Console.WriteLine("#Year#{0,20}#", "Amount on deposit");
输出:
#Year# Amount on deposit#
字符串“存款金额”占用20个空格 - 实际文本为17个,填充前为3个字符。正如this link所解释的那样,这就像正确对齐一样。
答案 1 :(得分:0)
答案 2 :(得分:0)
间距适用于替代品。间距为20 - <length of string>
。
答案 3 :(得分:0)
要在年后获得16个空格的输出,您可以将所拥有的内容转换为
Console.WriteLine("{0,-20}Amount on deposit", "Year");
这将创造一个20个字符的空白空间&#34;存款金额&#34;,&#34;年&#34;投入。
答案 4 :(得分:0)
我认为这是您正在寻找的,而不使用任何格式说明符:
左对齐:
Console.WriteLine( "{0}{1}", year.ToString().PadRight(20,' '), "Amount on deposit" );
右对齐:
Console.WriteLine( "{0}{1}", year.ToString().PadLeft(20,' '), "Amount on deposit" );
所以左对齐版本将输出年份,然后是16个空格:
|1994 |
右对齐版本将输出16个空格,然后是年份:
| 1994|
答案 5 :(得分:0)
以下内容将打印Amount on deposit
在20个charactar空间中右对齐
Console.WriteLine( "Year{0,20}", "Amount on deposit" );
Result:
"Year Amount on deposit"
如果你想让它左对齐,请使用减号:
Console.WriteLine( "Year{0,-20}", "Amount on deposit" );
Result
"YearAmount on deposit "