【C#点点滴滴】record和class的区别
💡
原文中文,约1400字,阅读约需4分钟。
📝
内容提要
介绍C#9中record和class的区别,record适合定义实体类和判等操作,class是最小独立封装单位,record支持Deconstruct解构函数但不支持With操作。
🎯
关键要点
- record是C#9引入的自定义类型,主要用于封装数据。
- class是最小独立封装单位,适合封装数据和逻辑。
- record适合定义实体类,特别是在比较相同数据时的判等操作。
- record支持Deconstruct解构函数,但不支持With操作。
- record和class都是引用类型,但在IL中间语言的实现上有所不同。
- record的构造函数定义只读属性,而class的构造函数可以定义私有字段。
- 当使用record struct定义时,它是值类型。
➡️