标签: c# immutability
刚刚意识到IEnumerable是不可变的,还有哪些常用的不可变通用接口? MSDN没有说。
还是有什么好的在线资源?
答案 0 :(得分:4)
除了将接口称为immutable并不是很有意义之外,IEumerable<T>不是,例如:
IEumerable<T>
List<string> myList = new List<string>(); myList.Add("Test"); // We just changed the state of myList, hence its not immutable
不可变的对象示例为String。
String
对于一个接口是不可变的没有意义,因为几乎按照定义,一个不可变对象需要sealed,这显然不是一个接口。