创建数据封装对象用struct、class还是record

struct是值类型,class是引用类型

从 C# 9 开始,可以使用 record 关键字定义一个record,用来提供用于封装数据的内置功能。 C# 10 允许 record class 语法作为同义词来阐明引用类型,并允许 record struct 使用相同功能定义值类型。 

public record Person
{
    public string FirstName { get; init; } = default!;
    public string LastName { get; init; } = default!;
};

默认创建的是引用类型

public record struct Point
{
    public double X {  get; init; }
    public double Y {  get; init; }
    public double Z {  get; init; }
}

增加struct关键字后创建的是值类型

其实用哪个都一样,主要看数据结构的用途。

posted @ 2022-04-25 14:33  土豆365  阅读(199)  评论(0)    收藏  举报