GroupBy 和 Select 扩展方法帮助

2024-01-08

我正在尝试使用以下代码对几个字段进行 GroupBy:

var cars = tmp.Select(a => new { a.Make, a.Model, a.Year });

cars = cars.Distinct()
           .OrderBy(a => a.Make)
           .ThenBy(a => a.Model);

var groupedCars = cars.GroupBy(a => new { a.Make, a.Model })
                      .Select(b => new { b.Make, b.Model, b.Year });

不幸的是,最后一行代码给了我错误,因为它无法识别这三个字段。

'System.Linq.IGrouping(AnonymousType#1,AnonymousType#2)' 不包含 'Make' 的定义,并且没有扩展方法 'Make' 接受类型为 'System.Linq.IGrouping(AnonymousType#1,AnonymousType) 的第一个参数可以找到 #2)'(您是否缺少 using 指令或程序集引用?)

所有三个字段(品牌、型号、年份)都是相同的错误。

任何想法如何解决这一问题?


按品牌和型号对汽车进行分组后,序列中的每个元素都是一个组。您可以通过以下方式获取该组的密钥Key属性,这样您就可以找到该组的Make and Model, but Year没有意义……每个组中都会有多辆车,而且它们的年份都可能不同。您可以使用该信息within当然是团体。例如:

var groupedCars = cars.GroupBy(a => new { a.Make, a.Model })
                      .Select(g => new { g.Key.Make, g.Key.Model,
                                         MinYear = g.Min(car => car.Year),
                                         MaxYear = g.Max(car => car.Year) });

但从根本上来说,您需要考虑这样一个事实:序列中的每个元素都是一个组,而不是一辆汽车。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GroupBy 和 Select 扩展方法帮助 的相关文章

随机推荐

  • 使用 firebug 查找 JavaScript 中的内存泄漏?

    是否有适用于 Firefox 的附加组件可以用来找出部分 JavaScript 导致内存泄漏的情况 我对 Firefox 没有任何了解 但 Chrome 中的 webkit 检查器有一个内置的分析器 非常适合此类事情 作为一个额外的好处 它
  • 在Python中加载大文件

    我正在使用在 Ubuntu 9 04 上运行的 Python 2 6 2 GCC 4 3 3 我需要使用 Python 脚本逐行读取一个大数据文件 1GB gt 300 万行 我尝试了以下方法 发现它占用了很大的内存空间 3GB for l
  • 正则表达式,匹配不带“http://”和任何其他“/”的 url

    我环顾四周 但可能我无法使用正确的关键字 谷歌 所以我在这里 我需要将 url 剥离协议与第一个 相匹配 Target 匹配从 http 到第一个 可能是最后一个 不存在 或到结尾的第一个子字符串 那么问题来了 我写了这个正则表达式 但这个
  • 预定义类型“System.Runtime.CompilerServices.IsExternalInit”未定义或导入[重复]

    这个问题在这里已经有答案了 我在使用 Visual Studio 2019 Preview 测试 C 9 0 的新功能时一直遇到这个问题 我正在测试 init setter 但编译器显示错误并显示以下消息 错误 CS0518 未定义或导入预
  • 通过 Exchange EWS API 批准电子邮件

    我遇到一种情况 我需要将邮件重新路由到另一个作为主持人的邮箱 以编程方式 有没有办法批准我在主持人邮箱中收到的消息 我没有看到 EWS 对此有明确的支持 微软还有其他 API 类型支持这个吗 这不是官方批准的方式 但以下解决方法可以帮助我批
  • jQuery 增量读取 AJAX 流?

    我读过了这个问题 https stackoverflow com questions 6093103 jquery ajax display data as it comes in但它并不能完全回答我的问题 不幸的是 自从我上次查看 AJA
  • 找不到类型或命名空间 AppServiceConnection

    我无法找到在新计算机上编译的解决方案 该解决方案包含一个与控制台应用程序打包在一起的 UWP 应用程序 UWP 应用程序通过以下方式与控制台应用程序进行通信应用服务连接 https learn microsoft com en us uwp
  • 覆盖moment js默认的无效日期文本

    我如何覆盖 moment js var defaultInvalidDate Invalid date 无需更改 moment js 文件 就像我的网站使用 Site css 覆盖某些 bootstrap css 样式一样 所以当 boot
  • 使用 SFINAE 检测 C++ 中类型的 POD 性

    这里原来的标题是VS2005 C 中 SFINAE 错误的解决方法 这是暂时使用 SFINAE 来等效 TR1 中存在的 is pod 模板类 在 VS2005 中还没有 TR1 应该有它的value当模板参数是 POD 类型 包括基本类型
  • Ansible SSH 转发似乎不适用于 Vagrant

    好吧 奇怪的问题 我有 SSH 转发与 Vagrant 一起使用 但我试图在使用 Ansible 作为 Vagrant 配置程序时让它工作 我准确地找到了 Ansible 正在执行的内容 并亲自从命令行尝试了它 果然 它也失败了 commo
  • 需要有关 Twitter 小部件的帮助

    我创建了一个 jquery 插件 它在左侧放置一个侧边栏以显示社交媒体内容 我有下面的变量 它是内容的来源 我正在尝试使用该小部件拉入 twitter feed 但我不断收到错误 TWTR 未定义 任何想法如何解决这一问题 该页面正在调用我
  • 使用 Swift 转义 unicode 字符,即 \u1234

    在 xcode 6 中使用 JSON 和 swift 时 我遇到特殊字符问题 我在 Cocoa objective C 中找到了这些代码来解决一些转换重音的问题 但无法使其在 Swift 中工作 关于如何使用它有什么建议吗 最好的替代建议也
  • Logstash 索引文本文件

    我想在 Elasticsearch 中导入一个文本文件 该文本文件每行包含 3 个值 经过几个小时的努力 我还是没有完成 非常感谢您的帮助 安装了 Logstash 的 Elasticsearch 5 4 0 样本数据 username e
  • 如何仅在第一次调用模拟方法时抛出异常?

    我有一个可以多次调用的模拟对象的方法 想想递归 该方法定义如下 public void doCommit 为了让它失败 我使用这个约定 doThrow new RuntimeException when mMockedObject doCo
  • 如何强制单表继承的引用完整性?

    我读过一些比尔 卡尔文的 https stackoverflow com users 20860 bill karwin回答关于单表继承 https stackoverflow com questions 441001 possible t
  • 为什么从类到子类的动态转换要求类是多态的?

    据我了解 动态转换与静态转换的不同之处在于它对 RTTI 的使用 并且如果变量的动态类型 从基类转换为派生类时 不适合 则动态转换会失败 但是 如果我们无论如何都有 RTTI 为什么类必须是多态的才能完成呢 编辑 由于对 多态 一词的使用存
  • 用于触摸 ID 和密码设置的 iOS 首选项 url 方案

    iOS 设置应用程序有很多带有首选项 url 的列表 用于在设置应用程序中打开特定站点 例如https stackoverflow com a 8246814 4266294 https stackoverflow com a 824681
  • JSPDF 在本地保存的文件在 Acrobat 中出现文档 [110] 错误

    我有以下 JavaScript 代码https jsfiddle net d72sgwrc 5 https jsfiddle net d72sgwrc 5 假设要保存屏幕图像 将其转换为 Canvas 并将其保存为 PDF 将文件下载到本地
  • C# 中的 HttpClient 请求有时会失败

    我的 C Windows 应用程序中有类似的代码 public async Task
  • GroupBy 和 Select 扩展方法帮助

    我正在尝试使用以下代码对几个字段进行 GroupBy var cars tmp Select a gt new a Make a Model a Year cars cars Distinct OrderBy a gt a Make The