Console.Write语法:格式字符串“{0,-25}”是什么意思

我正在编写C#代码

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

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

你提到它很难看到它的作用:那是因为它增加了空间,而且在控制台中很难看到。 尝试在输出之前和之后直接添加一个字符,这样您就可以更清楚地看到空格,如下例所示:

这个

 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] 

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

在此处输入图像描述

阅读MSDN上的字符串格式,特别是复合格式 。 ‘-25;’ 指定对齐组件。

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

那个“东西”是一个复合格式化字符串。 请参阅此处的评论和此处的文章。

它用于对齐。
检查这一点,以便你可以得到

 Console.Write("Company = |{0,-25}|", company); 
 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个。