Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# {0}在字符串文字中是什么意思,例如在Console.WriteLine中?_C#_Variables_Curly Braces_Curly Brackets - Fatal编程技术网

C# {0}在字符串文字中是什么意思,例如在Console.WriteLine中?

C# {0}在字符串文字中是什么意思,例如在Console.WriteLine中?,c#,variables,curly-braces,curly-brackets,C#,Variables,Curly Braces,Curly Brackets,我在学习C#时遇到了一小段代码: { class Program { static void Main(string[] args) { int age = 20;// declaring variable and assign 20 to it. Console.WriteLine("You are {0} years old.",age); Console.ReadLine();

我在学习C#时遇到了一小段代码:

{

  class Program

   {

     static void Main(string[] args)

      {

         int age = 20;// declaring variable and assign 20 to it.

         Console.WriteLine("You are {0} years old.",age);

         Console.ReadLine();

       }

   }

}
我不明白
{0}
将如何输出20。我的意思是,它不像数组索引或任何东西,那么它如何知道它指的是变量
age
?我在逗号后看到变量,但这是否意味着如果我放置{1},它将在年龄后检索变量


另外,这个特性在C中被称为什么?我似乎找不到它。

它是一个字符串格式化程序,它将被值替换

这个特性在C中叫什么?我似乎找不到它

在C级:它不是——因为它根本不是C级功能;它只是一个库功能-另请参见
string.Format
。这个方便的实用程序方法定位
{0}
{1}
{2}
等,并用第0、第1、第2等参数替换它们。很明显,这不仅仅是一个问题(还有更复杂的格式可用——模式;负与正,等等)

Console.WriteLine
的文档如下:

哪些链接指向“复合格式”:-BCL团队称之为“复合格式”:

NET Framework复合格式功能将对象列表和复合格式字符串作为输入。复合格式字符串由固定文本和索引占位符(称为格式项)组成,这些占位符与列表中的对象相对应。格式化操作将生成一个结果字符串,该字符串由原始固定文本与列表中对象的字符串表示形式混合而成


这与标准C
printf()函数类似。值在字符串之后传递,并按传递变量的顺序进行格式化

string.Format("Var1: {0}, var2:{1}, TheVery{3}InHere", "val1", "val2", "LongText");

为什么投票结果如此接近?:)接近票数的人赞成这个“离题”的问题。我个人并不认为这个问题“离题”。