在C#中,如何在Console.WriteLine()中使用占位符?

时间:2015-06-07 21:47:22

标签: c#

我是否在下面的代码中正确使用{0}{1}作为名称变量和年龄变量?被称为{0}{1}的是什么,它们被正式称为“占位符”吗?是否更倾向于使用+连接或占位符系统将变量合并到Console.Writeline()

Console.WriteLine("Hi " + nameInput + ", you are " + ageInteger + " years old.");
Console.WriteLine("Hi {0}, you are {1} years old.", nameInput, ageInteger);

完整代码:

string nameInput;
string ageInputString;
int ageInteger;
Console.WriteLine("Enter your name");
nameInput = Console.ReadLine();
Console.WriteLine("Enter your age");
ageInputString = Console.ReadLine();
Int32.TryParse(ageInputString, out ageInteger);
Console.WriteLine("Hi " + nameInput + ", you are " + ageInteger + " years old.");
Console.WriteLine("Press Enter to quit.");
Console.ReadLine();

3 个答案:

答案 0 :(得分:7)

使用C#6,您现在可以使用混合解决方案:

Console.WriteLine($"Hi {nameInput} you are {ageInteger} years old."); 

这称为string interpolation

答案 1 :(得分:3)

是的,它们被称为占位符。同样,当您说下面而不是连接时,它看起来不那么可读

Console.WriteLine("Hi {0} you are  {1} years old.", nameInput, ageInteger); 

答案 2 :(得分:0)

{0}和{1}称为占位符或格式项。

至于第二个问题检查String output: format or concat in C#?