получить значения из вложенного словаря, используя лямбда-значения словаря ArrayList из ArrayList - PullRequest
0 голосов
/ 24 сентября 2010

Мне нужно извлечь значения из словаря, в котором хранится 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.Во-первых, возможно ли это?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Вы имеете в виду что-то подобное?

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
0 голосов
/ 29 декабря 2011
obj
   .SelectMany(x=>x.Value.Cast<ArrayList>())
   .SelectMany(x=>x.Cast<int[]>())
   .SelectMany(x=>x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...