1

举个例子:

class MyArray {
    private Array _array;

    public MyArray(Array array) {
        _array = array;
    }

    public object this[int index] {
        get { return _array[index]; }
        set { _array[index]=value; }
    }
 }

这将返回编译错误“无法在此处访问私有索引器 'this'”

但是,如果 _array 被声明为 object[],则此功能正常。

这是否与值数组和引用数组之间的差异有关?

4

2 回答 2

6

你不应该使用Array

Array 类是支持数组的语言实现的基类。但是,只有系统和编译器可以显式地从 Array 类派生。用户应该使用该语言提供的数组结构。

http://msdn.microsoft.com/en-us/library/system.array.aspx

于 2012-09-21T00:03:40.850 回答
0

如您所见,类 Array 的描述:

提供用于创建、操作、搜索和排序数组的方法,从而充当公共语言运行时中所有数组的基类。

该类没有索引器。如果您正在处理数组,则可以使用 object[] 代替或使用 List<>

于 2012-09-21T00:14:10.640 回答