溫馨提示×

c#中record的用法是什么

c#
小億
180
2024-01-27 18:28:06
欄目: 編程語言

在C# 9中引入了新的record類型,它是一種不可變的數據類型,用于表示具有一組相關屬性的值。record類型的創建和使用非常簡單,下面是一些常見的用法:

  1. 定義record類型:
public record Person
{
    public string FirstName { get; init; }
    public string LastName { get; init; }
}

上面的代碼定義了一個名為Person的record類型,該類型有兩個只讀屬性FirstName和LastName。

  1. 創建record對象:
Person person = new Person { FirstName = "John", LastName = "Doe" };

上面的代碼創建了一個Person對象,并為其屬性指定了初始值。

  1. 訪問record對象的屬性:
Console.WriteLine(person.FirstName); // 輸出:John
Console.WriteLine(person.LastName); // 輸出:Doe

上面的代碼通過屬性訪問符"."來訪問record對象的屬性。

  1. 比較record對象:
Person person1 = new Person { FirstName = "John", LastName = "Doe" };
Person person2 = new Person { FirstName = "John", LastName = "Doe" };

Console.WriteLine(person1 == person2); // 輸出:True

上面的代碼使用"=="運算符比較兩個record對象的值是否相等,record類型會自動實現值比較的邏輯。

  1. 更新record對象的屬性:
Person updatedPerson = person with { FirstName = "Jane" };

上面的代碼通過使用with表達式更新record對象的屬性,該操作會返回一個新的record對象。

需要注意的是,record類型是不可變的,即一旦創建就不能修改其屬性的值。如果需要更新屬性值,必須使用with表達式來創建一個新的record對象。這種特性使record類型更適合表示不可變的數據,例如DTO(數據傳輸對象)和領域模型等。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女