我找到的这个奇怪的C#类构造函数语法是什么?

Car*_*s P 0 .net c# constructor

我在这里找到了Jon Skeet的一个名为'PclPal' 的演示- 由于我不认识的一些C#语法,它拒绝在Visual Studio 2013中编译.

其中两个.cs文件似乎在实际的类声明中有构造函数逻辑,如下所示:

 public class Profile(string path, IEnumerable<SupportedRuntime> runtimes)
    {
        public string Name { get; } = System.IO.Path.GetFileName(path);
        public String Path { get; } = path;
        public IReadOnlyCollection<SupportedRuntime> SupportedRuntimes { get; } = runtimes.ToList().AsReadOnly();
Run Code Online (Sandbox Code Playgroud)

这是什么?这是C#的未来版本吗?我还没有学到什么?

编辑:我不认为这是一个重复的问题.链接的问题是"为什么主要构造函数不能编译?",而这个问题实际上有效地说"这些事情本来就是主要的构造者?"

Amy*_*Amy 5

这些功能最初来自C#6,"带有初始化程序的自动属性"和"主要构造函数".

https://msdn.microsoft.com/en-us/magazine/dn683793.aspx