我有一本看起来像这样的字典: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();

但这只是给了我一个string[][][],它与我想要的不接近。我可以朝正确的方向插入吗?

最佳答案

您可以使用 .SelectMany() 展平结果:

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

关于c# - 使用LINQ在列表列表中组合属性吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21866996/

10-17 00:13