C# 中的 record 类型是 C# 9.0 中的一个新特性,用于创建不可变的数据类型。它可以用于定义简单的数据传输对象(DTO)、消息传递对象(MDO)等。
以下是一个示例的 C# record 类型:
public record Person
{
public string Name { get; init; }
public int Age { get; init; }
}
在这个示例中,我们定义了一个名为 Person 的 record 类型,它具有 Name 和 Age 两个属性。init 关键字用于初始化属性,表示属性只能在构造函数中进行初始化,一旦初始化后就不能再修改。
使用 record 类型时,可以像使用其他类一样进行实例化和访问属性,例如:
var person = new Person { Name = "Alice", Age = 30 };
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
这将输出:
Name: Alice, Age: 30
需要注意的是,record 类型默认会自动生成 Equals、GetHashCode 和 ToString 方法,以及一个具有相同属性的构造函数。这些方法可以用于比较 record 实例的相等性、获取哈希码和获取字符串表示形式。