使用 lambda 从嵌套字典中获取值 字典的 ArrayList 或 ArrayList

发布于 2024-09-24 14:09:43 字数 801 浏览 2 评论 0原文

我需要从存储 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解决它。首先这可能吗?提前致谢。

I need to retrieve values from dictionary which stores a ArrayList which in turn has an ArrayList This second ArrayList has int array stored . Now how can I retrieve those integer values. `

        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);`

this could be done easily with List. I trying it solve with ArrayList. Firstly is it possible? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我很OK 2024-10-01 14:09:44

你的意思是这样的吗?

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

Do you mean something like this?

foreach(var item in obj.Values
    .SelectMany(x => x.Cast<ArrayList>())
    .SelectMany(x => x.Cast<int[]>())
    .SelectMany(x => x))
{
    Console.WriteLine(item);
}

output:

11
21
32
43
50
123
2321
3212
4983
5760
1341
2991
3552
4663
5880
撧情箌佬 2024-10-01 14:09:44
obj
   .SelectMany(x=>x.Value.Cast<ArrayList>())
   .SelectMany(x=>x.Cast<int[]>())
   .SelectMany(x=>x)
obj
   .SelectMany(x=>x.Value.Cast<ArrayList>())
   .SelectMany(x=>x.Cast<int[]>())
   .SelectMany(x=>x)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文