使用 LINQ 对对象列表进行分组

2024-03-02

我有一个对象:

public class Customer
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int GroupID { get; set; }
}

我返回一个可能如下所示的列表:

List<Customer> CustomerList = new List<Customer>();
CustomerList.Add( new Customer { ID = 1, Name = "One", GroupID = 1 } );
CustomerList.Add( new Customer { ID = 2, Name = "Two", GroupID = 1 } );
CustomerList.Add( new Customer { ID = 3, Name = "Three", GroupID = 2 } );
CustomerList.Add( new Customer { ID = 4, Name = "Four", GroupID = 1 } );
CustomerList.Add( new Customer { ID = 5, Name = "Five", GroupID = 3 } );
CustomerList.Add( new Customer { ID = 6, Name = "Six", GroupID = 3 } );

我想返回一个 linq 查询,它看起来像

CustomerList
  GroupID =1
    UserID = 1, UserName = "UserOne", GroupID = 1
    UserID = 2, UserName = "UserTwo", GroupID = 1
    UserID = 4, UserName = "UserFour", GroupID = 1
  GroupID =2
    UserID = 3, UserName = "UserThree", GroupID = 2
  GroupID =3
    UserID = 5, UserName = "UserFive", GroupID = 3
    UserID = 6, UserName = "UserSix",

我尝试从

使用 Linq 将对象列表分组为新的对象列表分组列表 https://stackoverflow.com/questions/2697253/using-linq-to-group-a-list-of-objects-into-a-new-grouped-list-of-list-of-objects

code

var groupedCustomerList = CustomerList
  .GroupBy(u => u.GroupID)
  .Select(grp => grp.ToList())
  .ToList();

有效,但没有给出所需的输出。


var groupedCustomerList = CustomerList.GroupBy(u => u.GroupID)
                                      .Select(grp =>new { GroupID =grp.Key, CustomerList = grp.ToList()})
                                      .ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LINQ 对对象列表进行分组 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 如何组合验证属性错误消息的资源字符串?

    如果我在验证属性上收到错误消息 例如 名字为必填项 姓氏为必填项 然后是这样的验证属性 Required ErrorMessageResourceName Error FirstNameRequired ErrorMessageResour
  • 在 swt 中归档的多行文本上使用 Tab 键吗?

    如何防止多行文本字段 窃取 Tab 键按下 我的意思是 我想使用 TAB 在窗口的元素之间循环 但是当我输入多行文本时 TAB 变成 普通 键 并且只需将制表符插入到我正在键入的文本中 我该如何处理这个问题 我应该编写一些自定义侦听器 还是
  • 过滤最接近给定日期时间的日期时间

    我有一个具有日期时间字段的模型 现在给定一个特定的日期时间 DT 我需要获取日期时间最接近 DT 的对象 这可能吗 Thanks 您可以通过两个查询和一些逻辑来获取它 这个想法是找到紧随目标日期时间之后的一个对象和紧邻目标日期时间之前的一个
  • 训练神经网络技巧

    对于对象识别 我建议使用 MATLAB 中的神经网络 我有 30 个对象 每个对象有 20 个图像 因此我有 600 个输入数据和 20 个不同的类 输入矩阵为 100x600 目标矩阵为 1x600 输入矩阵列是 100 个 bin 中关
  • WSO2 IS 使用 Radius / Kerberos 登录

    下图显示了我需要部署的架构 它解释了我的问题 我已经设计了一个子系统 其中包含部署在apache tomcat中的一组应用程序 Web服务 Web应用程序 为了向我的子系统提供 SSO 功能 我使用带有 SAML2 0 的 WSO2 身份服
  • 使用 CodeIgniter 进行用户身份验证

    我正在使用 PHP 编写一个 Web 应用程序 我想为此使用 MVC 模式 并决定使用代码点火器 http codeigniter com 我的应用程序将有一些页面需要身份验证 而有些页面则不需要 我想以一种非常通用的方式设计它 这样就不会
  • Asp.Net 中动态添加的控件

    我正在尝试了解 asp net 我有一个长期的 php 开发人员背景 但我现在面临着学习 asp net 的任务 并且我在这方面遇到了一些麻烦 这很可能是因为我试图迫使框架去做一些它不适合的事情 所以我想学习如何 以正确的方式 做到这一点
  • 如何在 h:selectOneMenu 中的值更改时执行转换?

    通常我会做如下的事情 单击按钮执行转换
  • 全局名称“re”未定义

    我是 python 新手 正在研究 mincemeat 的地图减少问题 运行 mincemeat 脚本时出现以下错误 python mincemeat py p changeme localhost error uncaptured pyt
  • Javascript 和 Howler.js - 如何选择随机声音?

    我对 javascript 相当陌生 并尝试在 mousemove 上播放随机选择的声音 我无法上班 希望得到帮助 我使用 howler min js 来控制声音 因此不会等到声音播放结束才播放下一个声音 这是代码 var soundObj
  • 在 Swift 中生成字符串的自定义长度哈希值

    是否有可能以某种方式将长度为 n 的给定字符串 哈希 为任意长度 m 的哈希值 我想实现如下目标 let s1
  • 在Python中输入一个文本文件并写入多个输出文件

    大家好 我正在输入 filename txt 并生成多个输出文件 filename1 txt filename2 txt 和 filename3 txt 更具体地说 这是 filename txt 中的输入数据 Time ms Channe
  • rvm 无法再在 Mac OS X Mountain Lion 上安装 1.8.7-p352

    我将 rvm 升级到 1 15 8 然后在 zsh 出现一些问题后又降回 1 15 7 降级后 我的 Ruby 1 9 版本恢复正常 但 1 8 7 无法再次安装 出现两个错误 Error running patch F 25 p1 N f
  • Fabric JS 通过 ID 以编程方式选择对象

    在 Fabric JS 中 我需要通过给定的对象名称 ID Circle 来选择对象 var onCircle function canvas add new fabric Circle id Circle radius 30 fill f
  • 使用分数的模算术

    我陷入了这个使用整数和分数模 10 相乘的密码学问题 这是等式 7 4 11 mod 10 我知道我应该将其转换为整数 因为 mod 运算符不适用于分数 但我无法弄清楚这一点 明显地 7 4 11 28 11 但我无法得到分数的 mod 1
  • JQuery.validate - 仅关于模糊的一条规则;其余的应该正常吧?

    我已经用小提琴来展示我试图为我的用户 ID 字段执行的简单验证 使其成为必需 尽可能积极地验证 设置最小长度 尽可能积极地验证 设置最大长度 尽可能积极地验证 运行 AJAX 调用以确保用户 ID 不存在 我只想在模糊时运行它 我没有使用
  • GDB 中断命令不会在命令文件中执行

    我有一个调试脚本 它执行以下操作 设置两个断点 让我们称呼他们吧start and end断点 启动后 脚本将继续执行 直到start命中断点 once start命中断点 我执行单步执行 直到end命中断点 这是我的命令文件 end br
  • vue.js 中的过滤器和方法有什么区别?

    我想将时间戳转换为北京时间 我应该使用过滤器还是方法来实现此功能 有什么区别 比如性能上的区别 仅当基础时间戳更改时 显示的北京时间才需要更改 方法因此应该not be used https v2 vuejs org v2 guide co
  • 如何仅显示绘图中特定曲线子集的图例?

    t 0 0 01 2 pi s sin t c cos t m sin t hold on plot t s r plot t c b plot t m g hold off legend cosine 我的绘图中有几条曲线 我只想显示其中
  • 使用 LINQ 对对象列表进行分组

    我有一个对象 public class Customer public int ID get set public string Name get set public int GroupID get set 我返回一个可能如下所示的列表