代码之家  ›  专栏  ›  技术社区  ›  Baltasarq

为什么数据库中没有ReadOnlyList类系统集合C#图书馆?

  •  21
  • Baltasarq  · 技术社区  · 14 年前

    阅读关于在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 非常感谢。

    1 回复  |  直到 4 年前
        1
  •  40
  •   Reed Copsey    14 年前