微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 使用LINQ组合列表列表中的属性?

我有一个类似的词典:Dictionary< Search_Requests,List< Tuple< Search_Subjects,SearchData>>>

在SearchData类中,有一个名为SearchCode的属性.我想要做的是获取此词典中出现的每个搜索代码的数组.我可以用几个循环来做这个,但我真的更喜欢使用LINQ.不幸的是,我无法理解如何做到这一点.我试过了

RequestDictionary.Select(s => s.Value.Select(z => s.Value.Select(x => x.Item2.SearchCode).ToArray()).ToArray()).ToArray();

但那只是给我一个字符串[] [] [],这与我想要的并不相符.我可以向正确的方向努力吗?

解决方法

您可以使用 .SelectMany()来展平结果:
RequestDictionary
    .SelectMany(s 
        => s.Value.SelectMany(z => s.Value.Select(x => x.Item2.SearchCode))
    .ToArray();

原文地址:https://www.jb51.cc/csharp/244694.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐