我需要从存储ArrayList的字典中检索值,而ArrayList又具有ArrayList。第二个ArrayList存储了int数组。现在我该如何检索这些整数值。 `
Dictionary<int, ArrayList> obj = new Dictionary<int, ArrayList>();
ArrayList objList1 = new ArrayList();
ArrayList objList2 = new ArrayList();
ArrayList objList3 = new ArrayList();
Int32[] a1 = new Int32[5] {11, 21, 32, 43, 50 };
Int32[] b1 = new Int32[5] { 123, 2321, 3212, 4983, 5760 };
Int32[] c1 = new Int32[5] { 1341, 2991, 3552, 4663, 5880 };
objList2.Add(a1);
objList2.Add(b1);
objList2.Add(c1);
objList1.Add(objList2);
objList1.Add(objList3);
obj.Add(1, objList1);
obj.Add(2, objList3);`
这可以通过List轻松完成。我试着用ArrayList解决它。首先是可能的吗?提前致谢。
答案 0 :(得分:1)
你的意思是这样吗?
foreach(var item in obj.Values
.SelectMany(x => x.Cast<ArrayList>())
.SelectMany(x => x.Cast<int[]>())
.SelectMany(x => x))
{
Console.WriteLine(item);
}
输出:
11
21
32
43
50
123
2321
3212
4983
5760
1341
2991
3552
4663
5880
答案 1 :(得分:0)
obj
.SelectMany(x=>x.Value.Cast<ArrayList>())
.SelectMany(x=>x.Cast<int[]>())
.SelectMany(x=>x)