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

lipeng_3g 2013-08-14 04:45:48
        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呢?
...全文
350 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lipeng_3g 2013-08-14
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
ArrayList本身也是Object,当然可以了 你这个报错是你自己代码造成的问题 polyline.Clear(); 你都clear了。。。怎么还能找到数据呢 你实际每次循环的最终结果就是在point3添加一个空的ArrayList (Arraylist)point3[0]你实际这个arraylist已经是被你清空了
灰常感谢
lipeng_3g 2013-08-14
  • 打赏
  • 举报
回复
引用 3 楼 rtdb 的回复:

        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);
以上已测试。
灰常感谢
rtdb 2013-08-14
  • 打赏
  • 举报
回复

        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);
以上已测试。
  • 打赏
  • 举报
回复
ArrayList本身也是Object,当然可以了 你这个报错是你自己代码造成的问题 polyline.Clear(); 你都clear了。。。怎么还能找到数据呢 你实际每次循环的最终结果就是在point3添加一个空的ArrayList (Arraylist)point3[0]你实际这个arraylist已经是被你清空了
rtdb 2013-08-14
  • 打赏
  • 举报
回复
point3.Add(polyline); polyline.Clear(); 以上代码有问题: point3的polyline和外面的polyline是同一个,都被你清空了。 试一下: point3[0][0]

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧