c# - C# 中的不可变类型和属性

标签 c# types immutability

C# 中的不可变类型和不可变属性是什么意思?能举个简单的例子吗?

最佳答案

不可变类型是其属性只能在初始化时设置的类型。一旦创建了对象,就不能再进行任何更改。不可变属性只是一个只读属性。

在下面的示例中,ImmutableType 是一种具有一个属性 Test 的不可变类型。测试是一个只读属性。只能在构造时设置。

class ImmutableType
{
    private readonly string _test;
    public string Test
    {
        get { return _test; }
    }

    public ImmutableType(string test)
    {
        _test = test;
    }
}

另见:The Wikipedia article , 和 some Stack Overflow questions关于这个话题。

关于c# - C# 中的不可变类型和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2537620/

相关文章:

c# - int 数组使用的内存与只有一个 int 的结构数组使用的内存是等价的吗?

c# - 计算一条线的精确像素

python - 如何使用 isinstance 测试所有可能的整数类型

java - 为什么内在锁对象不需要特殊处理(static、final、volatile)?

java - 跳棋游戏板 : store object refs or char values?

c# - 管理一次性类依赖注入(inject)

c# - 在 VB6 中引用 .NET 程序集将不起作用

typescript - 如何在 Typescript 中对相关属性进行建模

java - 我不太清楚如何让这些公共(public)整数发挥作用

幕后的 Java 不可变性