在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.相关推荐

  1. NET问答: JS 中有 LINQ SelectMany 方法的等价实现吗?

    咨询区 toddmo: 很遗憾,我在 Underscore 和 Jquery 中都没有找到对等实现,我的要求很简单,只要能做到 IE9 兼容即可. 我的 SelectMany 实现如下: // Sel ...

  2. typescript ts 错误列表

    code 类型 英文描述 中文描述 1002 错误 Unterminated string literal. 未终止的字符串文本. 1003 错误 Identifier expected. 应为标识符 ...

  3. typescript TS 错误码大全

    code    类型    英文描述    中文描述 1002    错误    Unterminated string literal.    未终止的字符串文本. 1003    错误    Id ...

  4. typescript 错误码大全

    转载于https://www.easemob.com/question/6196/ 1002 错误 Unterminated string literal. 未终止的字符串文本. 1003 错误 Id ...

  5. C#复习笔记(4)--C#3:革新写代码的方式(Lambda表达式和表达式树)

    Lambda表达式和表达式树 先放一张委托转换的进化图 看一看到lambda简化了委托的使用. lambda可以隐式的转换成委托或者表达式树.转换成委托的话如下面的代码: Func<string ...

  6. 你真的了解泛型 Generic 嘛?

    泛型 Generic Programming[1] 通常指允许程序员在强类型程序设计语言中,编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型,即类型参数化 首先我们不是科班讨论学术, ...

  7. 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  ...

  8. 转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 ...

  9. 关于django模型语法里面的一些坑。系统报错:Unknown command: 'validate' Type 'manage.py help' for usage.

    在学习django模型的时候,博主就遇到过一些坑,这是博主遇到的一个小例子,希望能帮到遇到同样问题的你们. 你是否在学习django时,当你创建了一个模型后,当你正要检测模型的可用性时,使用了语句:p ...

最新文章

  1. 信号处理函数(2)-sigismember()
  2. MS SQL2005数据库备份
  3. sql去除空值_SQL汇总分析
  4. MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的错误...
  5. 国内人工玻璃体和日本人工玻璃体的区别
  6. moss2010 sharepoint 2010配置人员搜索
  7. 报名开始!第二届中国移动“梧桐杯”大数据应用创新大赛邀你夺52w大奖!
  8. 2017-03-01 Oracle10g的安装与配置使用
  9. 阿里云各个地域节点速度测试(测试点到阿里云各站点)
  10. 两堆草前饿死的驴——选择永远是件痛苦的事
  11. html5 动态图表FineReport优化报表取数
  12. mysql start tran_mysql事务,START TRANSACTION, COMMIT和ROLLBACK,SET AUTOCOMMIT语法
  13. CES直击:戴尔连发多款ALIENWARE与XPS新品
  14. Beaglebone移植DDS模块驱动(AD9833)
  15. 几款实用的前端日历时间日期选择控件
  16. R语言绘图(一)热图
  17. 阿里云国际版CDN 安全保护指南:管理篡改、攻击和内容
  18. perf_event 事件类型与分类
  19. 阿里直播平台的架构演进
  20. php 月柱计算,月柱推算

热门文章

  1. 2015校园招聘联通笔试的几个题目
  2. 计算机组成存储器实验心得,《计算机组成原理》存储器读写实验报告
  3. 程序员如何增加收入?
  4. 多功能Python键盘记录工具Radium
  5. 计算机win10分区软件,完全不需要第三方工具!教你轻松调整Win10硬盘分区
  6. 健身机构如何入局知识付费?
  7. ESP32开发路程——环境搭建、引脚、烧录、UART、ADC、WS2812、RFID、DAC、FreeRTOS、CJSON
  8. 【错误解决】Spring JPA的错误及其解决方案
  9. 怎么把解压的文件在HTML打开,解决电脑rar压缩包文件怎么打开?教你正确打开方式...
  10. Vue与React的异同