我有一个类USER,它有两个字段:字符串名称和int Age.我有一个主要构造函数,如下所示:

public class User(string name, int age)
{
    public string Name { get; init; } = name;
    public int Age { get; init; } = age;
}

如何为字段串名称添加一个参数构造函数,并将18岁的值设置为默认值?

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

public User(string name)
{
     Name = name;
     Age = 18;
}

但是这个代码不起作用.

推荐答案

您可以在代码中使用构造函数的重载并调用主构造函数.这就是你可以做到的:

public class User(string name, int age)
{
    public User(string name) : this(name, 18)
    {
    }

    public string Name { get; init; } = name;
    public int Age { get; init; } = age;
}

我希望这个答案能帮助你.

Csharp相关问答推荐

在ASP.NET中为数据注释 Select 合适的语言

子组件:如何根据另一个组件的状态启用输入

在C#中使用in修饰符

. NET 8 HttpClient post参数将其情况更改为camel'

如何告诉自己创建的NuGet包在应用程序中发生了变化?

. NET Core DB vs JSON模型设计

共享暂存/生产环境中Azure事件中心的建议配置

如何防止Visual Studio断点以红色突出显示到整行?

VS 2022与VS 2019:如何/为什么创建额外的任务?

在C#ASP.NET内核中使用INT AS-1进行控制器场景的单元测试

在C#中,当输入一个方法/局部函数时,我的IEnumerator被重置/重新创建.为什么?

如何使用EPPlus C#在单个单元格中可视化显示多行文字

Blazor服务器项目中的Blazor/.NET 8/Web API不工作

我是否应该注销全局异常处理程序

C#USB条形码 scanner 在第二次扫描时未写入行尾字符

无法向Unity注册Microsoft Logger

C#中COM对象的实际地址

我想我必须手动使用res1(字符串形式的PowerShell哈希表)

这是T自身的布尔表达式是什么意思?

C#如何替换两个XML元素值?