C# WriteLine 方法在括号内显示数字而不是我想要替换的数字

C# WriteLine method shows numbers inside brackets instead of what I want the to be replaced with

我刚开始学习C#,这是我的一个简单的作业程序代码:

using System;

namespace Concatenate_Data
{
    class Program
    {
        static void Main(string[] args)
        {
            string firstName = Console.ReadLine();
            string lastName = Console.ReadLine();
            int age = int.Parse(Console.ReadLine());
            string town = Console.ReadLine();

            Console.WriteLine($"You are {0} {1}, a {2}-years old person from {3}.", firstName, lastName, age, town);
        }
    }
}

而不是输出例如 "You are Peter Johnson, a 20-years old person from Sofia.",它输出“你是 0 1,一个 2 岁的人,来自 3。我该如何解决这个问题?我什至从中复制了代码 1:1他们给我们的样品。

$ 符号使字符串成为内插字符串。所以它不像 string.Format() 那样工作。您可以参考文档 here

按照以下方式编写代码,您可能会得到想要的输出;

Console.WriteLine($"You are {firstName} {lastName}, a {age}-years old person from {town}.");