刚刚意识到IEnumerable <t>是不可变的,还有哪些其他最常用的不可变通用接口? MSDN没有说</t>

时间:2011-09-05 15:51:50

标签: c# immutability

刚刚意识到IEnumerable是不可变的,还有哪些常用的不可变通用接口? MSDN没有说。

还是有什么好的在线资源?

1 个答案:

答案 0 :(得分:4)

除了将接口称为immutable并不是很有意义之外,IEumerable<T>不是,例如:

List<string> myList = new List<string>();
myList.Add("Test"); // We just changed the state of myList, hence its not immutable

不可变的对象示例为String

对于一个接口是不可变的没有意义,因为几乎按照定义,一个不可变对象需要sealed,这显然不是一个接口。