如何使用 C# 中的主构造函数功能来使用多个构造函数?

bit*_*ani 2 .net c#

我有一个类用户,有两个字段 string Name 和 int Age。我有一个主要构造函数如下:

public class User(string name, int age)
{
    public string Name { get; init; } = name;
    public int Age { get; init; } = age;
}
Run Code Online (Sandbox Code Playgroud)

如何为字段字符串Name添加一个参数构造函数并将年龄18设置为默认值?

我尝试添加另一个构造函数,如下所示:

public User(string name)
{
     Name = name;
     Age = 18;
}
Run Code Online (Sandbox Code Playgroud)

但这段代码不起作用。

Ric*_*ard 8

您必须从其他构造函数调用主构造函数:

public User(string name) : this (name, 18) { }
Run Code Online (Sandbox Code Playgroud)

有关主构造函数的文档的第 3 段对此进行了介绍。