C#:如何高效地将 "Immutable by default"引入C#?不可变属性?

标签 c# immutability

最近阅读 F# 和 C# 时,最大的区别之一是,F# 变体默认情况下是不可变的,大多数 C# 引用类型默认情况下是可变的。

这带来了一个问题,如何有效地将这种“默认不可变”引入到 C# 编码中?呃...我是说 C# 4.0..

我想到的是“不可变属性”。 因此,当 this 停靠到一个类时,Aspect 会检查该类的每个成员,以便它们仅在构造函数中可变。

你怎么看?

最佳答案

readonly 关键字是一种语言级别的结构,用于执行您请求的操作。当应用于成员变量时,它们只能在构造函数中设置,并且必须在构造函数中设置。

关于C#:如何高效地将 "Immutable by default"引入C#?不可变属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868545/

相关文章:

c# 遇到 mysql : Incorrect string value code 1366 for column at row 1 问题

c# - 将字符串值设置为属性类型/XML 反序列化到类。 C#

c# - 使用 Linq 获取当前和上一个项目

reactjs - 在 redux 中,为什么我们必须在 reducer 中保持状态不可变?

java - 不可变类中的对象作为成员变量

c# - Semaphoreslim.Wait(0)(以防止多次执行)导致不执行的可能性

c# - 如何检查矩形是否与三个点之间的区域重叠? (C# 和 XNA)

javascript - Object.assign 为什么以及如何提高 React 中的应用程序性能?

rust - 我可以从不可变的 BTreeMap 中获取值吗?

c# - .NET 中的值类型、不变性(好的)和可变性(坏的)