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 ++ )
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
for (int j = 0; j < 9; j++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
aa[i, j] = new ArrayList();
aa[i, j].Add((Object)1);
}
}
for ( int i = 0 ; i < 9 ; i ++ )
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)