Rab*_*820 6 c# language-design immutability c#-9.0 c#-record-type
C#9几天前正式宣布,该语言最大的新增功能之一是使用data关键字的新“记录”类型。这个新功能感觉与C#7.2的只读结构非常相似,所以我很困惑为什么要使用一个而不是另一个。具体来说:
data structover a readonly struct?这些不完全一样吗?data readonly struct吗?那不会是多余的吗?data classover a readonly struct?它们都实现了不变性和值类型相等,所以这只是一个性能问题(堆分配与作为参数传递时的复制)?加分点:我可以使用一些帮助来理解为什么“记录更改了简单成员声明......意味着什么的默认值”?我已经使用了足够多的企业代码来预测具有数十个成员的巨型数据类,没有经验的程序员会看到string FirstName;并且不会考虑向上滚动以查找data关键字,假设它是一个私有字段,而不是一个可公开访问的属性!
| 归档时间: |
|
| 查看次数: |
2932 次 |
| 最近记录: |