ArrayList 类:使用大小可按需动态增加的数组实现 IList 接口。
关于定义多维数组的方法很多,但是定义ArrayList 类本人在网上查找了很久也查不到定义的方法,最后,还有人说ArrayList 类不支持多维,但是,一次调试中,我发现事实并不是这样。我定义了如下二维数组,但并没有报错。
public
ArrayList[,] aa
=
new
ArrayList[
9
,
9
];
然而,初始化的时候就报错了。程序运行到
aa[i, j].Add((Object)
1
);
程序报错:“未将对象引用设置到对象的实例。”再一看定义的数组元素,值全为null,一想可能还没有NEW,于是把各个元素都NEW一遍,果然成功了。完整代码如下:
public
ArrayList[,] aa
=
new
ArrayList[
9
,
9
];
for ( int i = 0 ; i < 9 ; i ++ )
... {
for (int j = 0; j < 9; j++)
...{
aa[i, j] = new ArrayList();
aa[i, j].Add((Object)1);
}
}
for ( int i = 0 ; i < 9 ; i ++ )
... {
for (int j = 0; j < 9; j++)
...{
aa[i, j] = new ArrayList();
aa[i, j].Add((Object)1);
}
}