C#记录类型多个构造函数

C#记录类型多个构造函数,c#,.net,asp.net-core,C#,.net,Asp.net Core,如何为C#中的记录类型创建多个构造函数 我创建了如下记录类型: public record Person(int Id, string FirstName, string LastName) public class Person { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public Pers

如何为C#中的记录类型创建多个构造函数

我创建了如下记录类型:

public record Person(int Id, string FirstName, string LastName)
public class Person
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Person()
    {
        
    }

    public Person(int id, string firstName, string lastName)
    {
        Id = id;
        FirstName = firstName;
        LastName = lastName;
    }
}
现在我想引入另一个没有参数的构造函数重载,我该怎么做呢? 在普通课堂上,我会这样做:

public record Person(int Id, string FirstName, string LastName)
public class Person
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Person()
    {
        
    }

    public Person(int id, string firstName, string lastName)
    {
        Id = id;
        FirstName = firstName;
        LastName = lastName;
    }
}

使用可选参数

public record Person(int Id = default, string FirstName = null, string LastName = null);

它并不能真正解决创建重载的问题。若我需要3个构造函数会怎么样?它解决了你们的问题,因为记录的目的是在初始化阶段设置字段。您应该设置如下字段
newperson(){FirstName=“Nadar”}
。否则,请使用类。。。。检查标题为“定义记录类型的替代语法”的部分。。。它有一些有趣的解释。。所有参数都必须在记录类型中初始化。否则你就用一个类。。