LINQ SelectMany cannot be inferred from the usage. Try specifying the type arguments explicitly.
在linqPad中使用了SelectMany结果报错无法从用法推断。尝试显式指定类型参数。
原因就是类型不匹配,SelectMany需要的是一个List,list.SelectMany(p=>p)会出错,因为p是一条数据 ,将数组中带有数组的数据进行拼凑聚合。
SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>)
比如数据是这样的情况
这里用一下这位老哥的数据https://blog.csdn.net/xuchen_wang/article/details/91824945 机械键盘侠 2019-06-13 15:36:52
public class Person
{public string Name { get; set; }public string Gender { get; set; }public int Age { get; set; }public List<Phone> Phones { get; set; }
}public class Phone
{public string Country { get; set; }public string City { get; set; }public string Name { get; set; }
}void Main()
{List<Person> PersonLists = new List<Person>(){new Person { Name = "张三",Age = 20,Gender = "男",Phones = new List<Phone> {new Phone { Country = "中国", City = "北京", Name = "小米" },new Phone { Country = "中国",City = "北京",Name = "华为"},new Phone { Country = "中国",City = "北京",Name = "联想"},new Phone { Country = "中国",City = "台北",Name = "魅族"},}},new Person { Name = "松下",Age = 30,Gender = "男",Phones = new List<Phone> {new Phone { Country = "日本",City = "东京",Name = "索尼"},new Phone { Country = "日本",City = "大阪",Name = "夏普"},new Phone { Country = "日本",City = "东京",Name = "松下"},}},new Person { Name = "克里斯",Age = 40,Gender = "男",Phones = new List<Phone> {new Phone { Country = "美国",City = "加州",Name = "苹果"},new Phone { Country = "美国",City = "华盛顿",Name = "三星"},new Phone { Country = "美国",City = "华盛顿",Name = "HTC"}}}};var Lists = PersonLists.SelectMany(p => p).Dump();//此方法的第一个重载var selectsList = PersonLists.Select(p => p.Phones).Dump();
}
这时就会报错
无法从用法推断。尝试显式指定类型参数。然而是因为参数的类型不对,来到官网看函数定义
SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>)
发现要 IEnumerable<TSource> 类型 PersonLists.SelectMany(p => p) 中的p是personlists中的一项所以类型不匹配
var Lists = PersonLists.SelectMany(p => p.Phones).Dump();
var selectsList = PersonLists.Select(p => p.Phones).Dump();
p.Phones 就是个 list 了这时就会聚合list
selectMany
select
在开发中我们可以把复杂的select转化成selectMany来降低开发难度。
LINQ SelectMany cannot be inferred from the usage. Try specifying the type arguments explicitly.相关推荐
- NET问答: JS 中有 LINQ SelectMany 方法的等价实现吗?
咨询区 toddmo: 很遗憾,我在 Underscore 和 Jquery 中都没有找到对等实现,我的要求很简单,只要能做到 IE9 兼容即可. 我的 SelectMany 实现如下: // Sel ...
- typescript ts 错误列表
code 类型 英文描述 中文描述 1002 错误 Unterminated string literal. 未终止的字符串文本. 1003 错误 Identifier expected. 应为标识符 ...
- typescript TS 错误码大全
code 类型 英文描述 中文描述 1002 错误 Unterminated string literal. 未终止的字符串文本. 1003 错误 Id ...
- typescript 错误码大全
转载于https://www.easemob.com/question/6196/ 1002 错误 Unterminated string literal. 未终止的字符串文本. 1003 错误 Id ...
- C#复习笔记(4)--C#3:革新写代码的方式(Lambda表达式和表达式树)
Lambda表达式和表达式树 先放一张委托转换的进化图 看一看到lambda简化了委托的使用. lambda可以隐式的转换成委托或者表达式树.转换成委托的话如下面的代码: Func<string ...
- 你真的了解泛型 Generic 嘛?
泛型 Generic Programming[1] 通常指允许程序员在强类型程序设计语言中,编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型,即类型参数化 首先我们不是科班讨论学术, ...
- Creating a LINQ Enabled ASP.NET Web application template using C#.[转]
原文地址:http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/839/Default.aspx 其他相关地址:Building and using a ...
- 转torchscript报错:Expected a value of type ‘Tensor (inferred)‘ for argument ‘scale‘ but instead found t
def _upsample(self, x, y, scale=1): _, _, H, W = y.size() return F.interpolate(x, si ...
- 关于django模型语法里面的一些坑。系统报错:Unknown command: 'validate' Type 'manage.py help' for usage.
在学习django模型的时候,博主就遇到过一些坑,这是博主遇到的一个小例子,希望能帮到遇到同样问题的你们. 你是否在学习django时,当你创建了一个模型后,当你正要检测模型的可用性时,使用了语句:p ...
最新文章
- 信号处理函数(2)-sigismember()
- MS SQL2005数据库备份
- sql去除空值_SQL汇总分析
- MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的错误...
- 国内人工玻璃体和日本人工玻璃体的区别
- moss2010 sharepoint 2010配置人员搜索
- 报名开始!第二届中国移动“梧桐杯”大数据应用创新大赛邀你夺52w大奖!
- 2017-03-01 Oracle10g的安装与配置使用
- 阿里云各个地域节点速度测试(测试点到阿里云各站点)
- 两堆草前饿死的驴——选择永远是件痛苦的事
- html5 动态图表FineReport优化报表取数
- mysql start tran_mysql事务,START TRANSACTION, COMMIT和ROLLBACK,SET AUTOCOMMIT语法
- CES直击:戴尔连发多款ALIENWARE与XPS新品
- Beaglebone移植DDS模块驱动(AD9833)
- 几款实用的前端日历时间日期选择控件
- R语言绘图(一)热图
- 阿里云国际版CDN 安全保护指南:管理篡改、攻击和内容
- perf_event 事件类型与分类
- 阿里直播平台的架构演进
- php 月柱计算,月柱推算
热门文章
- 2015校园招聘联通笔试的几个题目
- 计算机组成存储器实验心得,《计算机组成原理》存储器读写实验报告
- 程序员如何增加收入?
- 多功能Python键盘记录工具Radium
- 计算机win10分区软件,完全不需要第三方工具!教你轻松调整Win10硬盘分区
- 健身机构如何入局知识付费?
- ESP32开发路程——环境搭建、引脚、烧录、UART、ADC、WS2812、RFID、DAC、FreeRTOS、CJSON
- 【错误解决】Spring JPA的错误及其解决方案
- 怎么把解压的文件在HTML打开,解决电脑rar压缩包文件怎么打开?教你正确打开方式...
- Vue与React的异同