解决方案 »

  1.   

    //
            // 摘要:
            //     获取一个值,该值指示 System.Array 是否为只读。
            //
            // 返回结果:
            //     此属性对于所有数组总是 false。
            public bool IsReadOnly { get; }如果你想要用数组,那是不可能的
      

  2.   

    你的意思是说,数组的IsReadOnly都是false?
      

  3.   

    这个问题 我不知道,但是 我这里有一个 解决方案:public class MyArrayList{
        private string[] array=new string[10];    publc string this[int index]{
            get{ return array[index]; }
        }    public MyArray(IEnumrate<string> initArray){
            Array.Copy(initArray, array);
        }}
      

  4.   

    按MSDN的说法,转成IList<T>就是只读的了
      

  5.   

    数组不能是只读,但是你可以包装下,避免原始数组被修改(这里说的只读是不能修改元素的值,以及将数组引用指向另一个数组)
    class ReadOnlyArray<T>
    {
        private readonly T[] innerArray;
        public ReadOnlyArray(T[] array) { innerArray = array; }
        public T this[int i] { get { return innerArray[i]; } }
    }
    这样T一旦赋值,就不能再被更改了,前提是你不能绕开这个类直接访问array。