阅读关于在C#中创建只读原语向量的问题(基本上,你不能这么做),
public readonly int[] Vector = new int[]{ 1, 2, 3, 4, 5 }; // You can still changes values
我了解到
ReadOnlyCollectionBase
. 这是对象容器的基类,对象容器允许访问它们的位置,但不允许修改它们的位置。甚至有一个例子
Microsoft文档
.
ReadOnlyCollectionBase Class - Microsoft Docs
public class ReadOnlyList<T> : ReadOnlyCollectionBase {
public ReadOnlyList(IList sourceList) {
InnerList.AddRange( sourceList );
}
public T this[int index] {
get {
return( (T) InnerList[ index ] );
}
}
public int IndexOf(T value) {
return( InnerList.IndexOf( value ) );
}
public bool Contains(T value) {
return( InnerList.Contains( value ) );
}
}
... 而且很有效。我的问题是,为什么在C#的标准库中不存在这个类,可能是在
System.Collections.Generic
非常感谢。