我正在学习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#中调用的这个功能似乎无法找到它。
答案 0 :(得分:4)
此外,在C#中调用的这个功能似乎无法找到它。
在C#级别:它不是 - 因为它不是C#功能根本;它只是一个库功能 - 另请参阅string.Format
。这个方便的实用工具方法可以找到{0}
,{1}
,{2}
等,并用第0个,第1个,第2个等参数替换它们。显然还有更多的东西(可用的格式更复杂 - 模式;负面与正面等)。
Console.WriteLine
的文档位于:http://msdn.microsoft.com/en-us/library/828t9b9h.aspx
链接到“复合格式”:http://msdn.microsoft.com/en-us/library/txafckwd.aspx - 这是BCL团队称之为的内容:
.NET Framework复合格式化功能将对象列表和复合格式字符串作为输入。复合格式字符串由固定文本和索引占位符(称为格式项)混合而成,这些占位符对应于列表中的对象。格式化操作产生一个结果字符串,该字符串由原始固定文本与列表中对象的字符串表示混合而成。
答案 1 :(得分:1)
就像在标准C printf()
函数中一样。这些值在字符串之后传递,并按照变量的顺序进行格式化。
string.Format("Var1: {0}, var2:{1}, TheVery{3}InHere", "val1", "val2", "LongText");
答案 2 :(得分:0)
它是一个字符串格式化程序,它将被替换为值。