ArrayList与List 在使用上没有区别,只是list需要指明类型。
当使用ArrayList.Add(ArrayList.ToArray())嵌套时,里面的ArrayList会被当做object来处理,一旦嵌套,便不能再拆分成一个个ArrayList。
若想嵌套之后再拆分使用里面的ArrayList,可以使用ArrayList.Add(ArrayList),即不再添加.ToArray(),这样可以将嵌套的ArrayList再次拆分为ArrayList,并且嵌套之后可以向多维数组一样访问,即ArrayList[0][0][1]。
但是这样使用时,一旦里面的ArrayList改变时,整个嵌套体都会改变。ArrayList1.Add(ArrayList2),当ArrayList2.Clear()清空时,ArrayList1也会被清空。
如果不想外层ArrayList1受内层ArrayList2的影响,可以使用ArrayList1.Add(ArrayList2.Clone())。