gpt4 book ai didi

c# - 将类列表添加到字典 C#

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:01 25 4
gpt4 key购买 nike

我有我的类(class)名单

List<Example> exampleList

其中已经包含了所有数据。我需要创建一个字典

Dictionary<string, List<Example>> exampleDictionary

Key需要是Example.Name,value需要是Example

下面是我的代码。问题是 Example.Name 可以相同。我需要按名称分组。我需要遍历我的列表,如果名称不存在,则添加新的键和值,否则将值添加到键中。我知道我的设置有误,但我似乎无法找出正确的方法。

foreach(var x in exampleList)
{
if(!exampleDictionary.ContainsKey(x.Name)
exampleDictionary.Add(x.Name, x)
else
exampleDictionary[x.Name] = x;
}

我知道这段代码无法构建。我不确定如何设置它。

最佳答案

您可以使用 LookUp()扩展方法:

var lookup = exampleList.ToLookUp(e => e.Name);

此方法返回 Lookup<string, Example> ,一个将键映射到值集合的一对多字典。

但是您的代码可以通过 Name 固定分组并将每个组添加到 exampleDictionary :

foreach (var g in exampleList.GroupBy(e => e.Name))
exampleDictionary.Add(g.Key, g.ToList());

或者

var exampleDictionary = exampleList.GroupBy(e => e.Name).ToDictionary(g => g.Key, g => g.ToList());

关于c# - 将类列表添加到字典 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com