2017-02-04 99 views
1

我想问一下Console.WriteLine()方法中的负向对齐格式。据我所知,当你写一个正值,例如Console.WriteLine("{0,5}",123),如果参数“spacing”小于你输入的对齐部分,它会用空格填充它的左边。c#负向对齐格式化

但我不明白消极的调整。例如Console.WriteLine("{0,-5}",123)会做什么?我没有看到Console.WriteLine("{0,-5}",123)Console.WriteLine("{0}",123)之间的任何区别。请一些解释。 PS:一个例子会使它更容易。

回答

2

使用您提供的示例很难理解,因为负对齐组件会在该单词之后添加空格(如果对齐的绝对值大于该单词的长度),因此您可能看不到这些空格除非你有以下的东西。

实施例:

考虑字(堆栈 => 5个字符和溢出 => 8个字符)

Console.WriteLine("{0,-5}{1,8}\n", "Stack", "Overflow"); // StackOverflow 
Console.WriteLine("{0,-6}{1,8}\n", "Stack", "Overflow"); // Stack Overflow 
Console.WriteLine("{0,-6}{1,9}\n", "Stack", "Overflow"); // Stack Overflow 
+0

所以基本上消极对齐增加了单词右侧的空白区域,如果它是积极的,它会添加到左侧? – john

+0

.................................. – john

+0

@john是的,正好(增加了单词的长度条件做出完整的描述)。 – user3185569

1

可以findout更多有关的String.Format像

string.Format("LEFT: string: ->{0,-5}<- int: ->{1,-5}<-", "abc", 123); 
string.Format("RIGHT: string: ->{0,5}<- int: ->{1,5}<-", "abc", 123); 

输出:

LEFT: string: ->abc <- int: ->123 <- 
RIGHT: string: -> abc<- int: -> 123<-