c#中record的用法是什么

   2024-11-08 3290
核心提示:在C# 9中引入了新的record类型,它是一种不可变的数据类型,用于表示具有一组相关属性的值。record类型的创建和使用非常简单,下

在C# 9中引入了新的record类型,它是一种不可变的数据类型,用于表示具有一组相关属性的值。record类型的创建和使用非常简单,下面是一些常见的用法:

定义record类型:
public record Person{    public string FirstName { get; init; }    public string LastName { get; init; }}

上面的代码定义了一个名为Person的record类型,该类型有两个只读属性FirstName和LastName。

创建record对象:
Person person = new Person { FirstName = "John", LastName = "Doe" };

上面的代码创建了一个Person对象,并为其属性指定了初始值。

访问record对象的属性:
Console.WriteLine(person.FirstName); // 输出:JohnConsole.WriteLine(person.LastName); // 输出:Doe

上面的代码通过属性访问符"."来访问record对象的属性。

比较record对象:
Person person1 = new Person { FirstName = "John", LastName = "Doe" };Person person2 = new Person { FirstName = "John", LastName = "Doe" };Console.WriteLine(person1 == person2); // 输出:True

上面的代码使用"=="运算符比较两个record对象的值是否相等,record类型会自动实现值比较的逻辑。

更新record对象的属性:
Person updatedPerson = person with { FirstName = "Jane" };

上面的代码通过使用with表达式更新record对象的属性,该操作会返回一个新的record对象。

需要注意的是,record类型是不可变的,即一旦创建就不能修改其属性的值。如果需要更新属性值,必须使用with表达式来创建一个新的record对象。这种特性使record类型更适合表示不可变的数据,例如DTO(数据传输对象)和领域模型等。

 
举报打赏
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行

网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策网站留言    |  赣ICP备2021007278号