我的列表中有以下对象:

public class DemoClass
{
    public int GroupKey { get; set; }
    public string DemoString { get; set; }
    public object SomeOtherProperty { get; set; }
}

现在,我想用它创建以下字典:

Dictionary<int, List<DemoClass>>

我想把List<DemoClass>分为属性GroupKey,但我不明白这是怎么做到的,还有一些帮助.

经过一番思考,我通过以下方式实现了所需的行为:

var groupedDemoClasses = from demoClass in mySepcialVariableWhichIsAListOfDemoClass
                            group demoClass by demoClass.GroupKey
                            into groupedDemoClass
                            select groupedDemoClass;
var neededDictionary = groupedDemoClass.ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());

但是,有没有办法把这一点写成一份声明呢?

推荐答案

var groupedDemoClasses = (from demoClass in mySepcialVariableWhichIsAListOfDemoClass
                          group demoClass by demoClass.GroupKey
                          into groupedDemoClass
                          select groupedDemoClass).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());

这个可以用!!!

.net相关问答推荐

使用PowerShell在Windows容器内安装exe

Azure管道-使用.NET 8 RC2 SDK生成C#项目失败

等待时 Blazor 服务器按钮刷新

在 C# 中,如何使用泛型的基类将泛型接口的所有实例注入到单个构造函数中?

使用 Thread.Abort() 有什么问题

C# 时间跨度毫秒与 TotalMilliseconds

如何删除只读文件?

C#:内存不足异常

如何使用c#从excel文件中读取数据

什么决定了 Path.GetTempPath() 的返回值?

是否有用于 Windows / C# 开发的可嵌入 Webkit 组件?

.net:System.Web.Mail 与 System.Net.Mail

C# 的 Actors 有什么好的实现吗?

SQLParameter 如何防止 SQL 注入?

是否有 Linq 方法可以将单个项目添加到 IEnumerable

C#As的 VB.NET 类似功能

String.Join 与 StringBuilder:哪个更快?

MVVM 没有意义吗?

Dictionary.Add 与 Dictionary[key]=value 的区别

什么时候使用 Tuple 和 KeyValuePair 比较好?