public record Person(string FirstName,string LastName);
一.本质:
实际上是Class类型。
二.特点:
1.重写了Equals等对象类型的比较方法,在两个不同引用的record对象的内容相同时,对两者进行==比较,判断两者相等为true。
2.重写了ToString()方法,便于输出属性内容。
3.默认生成的构造方法的行为不能修改。可以为类型提供多个构造方法,然后其它构造方法通过this调用默认的构造方法。
4.使用默认生成的构造方法时,record属性是只读的。但可通过添加额外的构造方法实现部分可读。
public record Person(string FirstName,string LastName)
{
public string? NickName { get; set; }
public Person(string FirstName,string LastName,string NickName)
:this(FirstName,LastName)
{
this.NickName=NickName;
}
}