首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Arraylist中存放Arraylist可行吗?如何引用

2013-08-16 
Arraylist中存放Arraylist可行吗?怎么引用?DataTable table new DataTable()table ds.Tables[0]for

Arraylist中存放Arraylist可行吗?怎么引用?

        DataTable table = new DataTable();
        table = ds.Tables[0];
        for (int i = 0; i < table.Rows.Count; i++)
        {
            ArrayList polyline = new ArrayList();
            for (int k = 0; k < table.Columns.Count; k++)
            {
                DataRow row = table.Rows[i];
                if (table.Columns[k].ColumnName.Contains("point"))
                {
                    polyline.Add(table.Rows[i][k].ToString());
                }
            }
            point3.Add(polyline);
            polyline.Clear();
        }

代码如上,问题就是标题描述的,point3本身就是一个Arraylist,而polyline也是一个Arraylist,然后我就不知道该怎么引用了,((Arraylist)point3[0])[0]会提示错误,但是上面的代码不报错,不知道这样到底行不行?
还有第二个问题,point3是全局变量,如果我上面的代码可行,我能不能在其他函数中使用point3中的polyline呢?
[解决办法]
point3.Add(polyline);
polyline.Clear();

以上代码有问题:
point3的polyline和外面的polyline是同一个,都被你清空了。

试一下:
point3[0][0]

[解决办法]
ArrayList本身也是Object,当然可以了

你这个报错是你自己代码造成的问题

polyline.Clear();
你都clear了。。。怎么还能找到数据呢

你实际每次循环的最终结果就是在point3添加一个空的ArrayList


(Arraylist)point3[0]你实际这个arraylist已经是被你清空了
[解决办法]


        List<ArrayList> point3 = new  List<ArrayList>();
        ArrayList polyline = new ArrayList();
        polyline.Add("1");
        polyline.Add("2");

        point3.Add(polyline);

        string s = (string)point3[0][0];
        Console.WriteLine(s);

以上已测试。

热点排行