控制台写入语法:格式字符串“{0,-25}”是什么意思?

4

我正在编写C#代码

Console.Write("{0,-25}", company);

在上面的代码中,"{0,-25}"是什么意思?

1
实际上我已经复制粘贴了,但是不知道它的作用是什么。 - sharif rifat
5个回答

10
你提到很难看出它的作用:那是因为它添加了空格,这些在控制台中很难看到。尝试在输出前后直接添加字符,这样你就可以更清楚地看到空格,像下面的例子一样:

这个

Console.WriteLine("[{0, -25}]", "Microsoft"); // Left aligned 
Console.WriteLine("[{0,  25}]", "Microsoft"); // Right aligned
Console.WriteLine("[{0,   5}]", "Microsoft"); // Ignored, Microsoft is longer than 5 chars

会得到这个结果(带空格)
[Microsoft                ]
[                Microsoft]
[Microsoft]

在控制台窗口中,它看起来像这样:

enter image description here


4

在MSDN上阅读有关字符串格式化的内容,特别是组合格式化。'-25;'指定了对齐组件。

对齐组件 可选的对齐组件是一个带符号的整数,表示首选格式化字段宽度。如果对齐值小于格式化字符串的长度,则忽略对齐并使用格式化字符串的长度作为字段宽度。如果对齐为正,则字段中的格式化数据右对齐;如果对齐为负,则左对齐。如果需要填充,则使用空格。如果指定了对齐,则必须使用逗号。


0

那个“东西”是一个复合格式化字符串。请参见备注此处和这篇文章此处


0

它用于对齐。
检查一下,这样你就可以得到

Console.Write("Company = |{0,-25}|", company);

0
string company1="ABC Inc";
string company2="XYZ International Inc";
Console.Write("{0,-10}", company1);//o/p [ABC Inc...]
Console.Write("{0,10}", company1);o/p [...ABC Inc]
Console.Write("{0,-10}", company2);o/p [XYZ International Inc]

//在第一个Write()中,输出是左对齐,输出字段宽度为10

//在第二个Write()中,输出是右对齐,输出字段宽度为10

//在第三个Write()中,输出宽度被忽略,因为company2名称超过了10个字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接