纯类型是不可变类型吗?

InB*_*een 15 .net c#

我被检查出的文档PureAttributeMSDN和我很惊讶,它可以在类级别应用.我知道什么是纯函数,但我从未见过它适用于某种类型.在MSDN文档中,它声明了以下内容:

表示类型或方法是纯的,也就是说,它不会进行任何可见的状态更改.

(用于突出显示的粗体)

所以我的问题是,如果纯类型没有进行任何可见的状态更改,那么它是否与不可变类型相同?如果在类型级别应用这两个术语,是否相同?如果没有,有人可以告诉我一个不可变的纯粹类型的例子或反之亦然.

小智 2

不,这些不一样:

  • 不可变类型可以具有改变另一个对象的方法,但这不是纯粹的。

  • 另一方面,类型可以公开可变字段,但只有不修改这些字段的纯方法。