gpt4 book ai didi

linq - 将 Linq ObjectQuery IQueryable 转换为 IEnumerable

转载 作者:行者123 更新时间:2023-12-04 17:40:49 26 4
gpt4 key购买 nike

对这里所需的数据类型完全感到困惑。

我有这个 Linq 声明:

                var feat = AllCustomers
.Select(c => c.CustomerServices.SelectMany(cs => cs.CustomerServiceFeatures)
.SelectMany(csf => csf.ConfigElements).Where(ce => ce.Name == "ItemType").Select(ce => ce.Value).Distinct());

它返回所需的数据,VS 告诉我类型被设置为:
System.Data.Objects.ObjectQuery<System.Collections.Generic.IEnumerable<string>>

但是我想将此数据添加到字符串列表中:
 List<string> itemTypes = new List<string>();
itemTypes.AddRange(feat);

但这会引发错误:
 Argument 1: cannot convert from 'System.Linq.IQueryable<System.Collections.Generic.IEnumerable<string>>' to 'System.Collections.Generic.IEnumerable<string>'   

我找不到转换为正确类型所需的语法。任何人都可以帮忙吗?

干杯,
马特

最佳答案

编译时错误显示,即 feat是“字符串集合的集合”(字面意思是“字符串的 IEnumerable 的 IQueryable”)。所以你需要生成平面集合。

feat.SelectMany(x => x)

关于linq - 将 Linq ObjectQuery IQueryable 转换为 IEnumerable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4324255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com