使用Curly Brackets格式化C#中的输出

时间:2016-02-29 13:15:41

标签: c#

此示例中大括号内的值是做什么的?

{
 double price = 1234.56
 Console.WriteLine("TV{0:F0} is {1:C}" , 2, price);
 Console.Read();
}

2 个答案:

答案 0 :(得分:3)

基本上第一个数字是参数的索引(0表示21表示示例中的price

冒号后面的值是标准数字格式字符串之一,有关可用选项,请参阅MSDN-Docs

  • {0:F0}打印2,因为参数0为2,格式为固定点,小数点为零(F0
  • {1:C}打印$1234,56因为参数1(price)为1234.56且格式为货币(C

此示例仅使用格式字符串作为数字,还有DateTime的标准格式字符串等等。

答案 1 :(得分:0)

  

此示例中大括号内的值是做什么的?

它们是所提供值的格式规范。本质上,它指示Console.WriteLine函数如何将值格式化为字符串以输出到控制台。 Here is a .NET fiddle that exemplifies this

MSDN documentation有一个广泛的例子,说明这些是如何工作的。

  1. {0:F0}获取给定的2 int值,只需将其打印为2," 2"
  2. {1:C}获取给定的1234.56双倍值并将其视为货币," $ 1,234.45"。
  3. 01是重要的,因为它们是参数映射到字符串格式的位置的从零开始的数组指示符。例如,下面演示了通过更改参数来更好地可视化影响的输出。

    Console.WriteLine("TV{0:F0} is {1:C}", 2, price);  // Prints TV2 is $1,234.56
    Console.WriteLine("TV{0:F0} is {1:C}", price, 2);  // Prints TV1234 is $2.00