c# - 使用 Linq 列表到字典的转换

标签 c# list

有人可以建议我应该使用什么 Linq 运算符来编写优雅的代码来将 List 转换为列表的字典吗? 例如。我有一个人员列表(List<Person>),我想将其转换为列表字典(如Dictionary<string, List<Person>>,使用人员的姓氏作为键。我需要它来快速查找人员列表的姓氏

最佳答案

获取Dictionary<string, List<Person>>来自 List<Person> :

var dictionary = list
                   .GroupBy(p => p.LastName)
                   .ToDictionary(g => g.Key, g => g.ToList());

关于c# - 使用 Linq 列表到字典的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7635969/

相关文章:

python - 从列表中查找最大元素的索引

python - 我将如何消除间距,换行符为我的列表 python 中的每个字符串都有一个空格分隔的字符串

c# - 无法使用 C# 向多个地址/收件人发送电子邮件

c# - 我可以在 MVP 模式的不同项目中创建 View 和 Presenter

c# - 在 C++ 中允许的函数在 C# 中不允许?

c# - 并发集合上泛型参数的线程安全问题

python - 什么是计算字典列表中字典值的 Pythonic 方法

c++ - 我在创建指向另一个类中的对象的链表时遇到问题

c# - 将类型动态传递给 <T>

c# - 泛型方法签名和标准签名相同