gpt4 book ai didi

c# - 使用linq按对象值字段分组的其他字典中的字典

转载 作者:行者123 更新时间:2023-11-30 20:38:04 28 4
gpt4 key购买 nike

我有一个 Dictionary<ulong,Terminal>称为 TeminalDictionary在我的程序中,Terminal有下一个 Prop :

public class Terminal
{
public string TAC { get; set; }
public string Name { get; set; }
public string Model { get; set; }
public string OS { get; set; }
public string Manufacturer { get; set; }
public uint Freq { get; set; }
}

所以,对于那个词典,我想制作另一个 Dictionary<string,ulong>对每个制造商的所有频率求和,因此字典键为 Terminal.Manufacturer值为 Sum(Terminal.Freq)与同一制造商。

我试过这个表达式:

var pieDictionary = TerminalDictionary
.GroupBy(x => x.Value.Manufacturer)
.ToDictionary(g => g.Sum(v => v.Value.Freq));

但它说我正在尝试添加一个具有相同键的元素,所以我有点迷路了......

问候!

最佳答案

您还需要提供新字典中的键,在您的情况下是组的键。鉴于您似乎不需要原始字典中的键,我会这样写:

var pieDictionary = TerminalDictionary.Values
.GroupBy(x => x.Manufacturer)
.ToDictionary(g => g.Key, g => g.Sum(v => v.Freq));

关于c# - 使用linq按对象值字段分组的其他字典中的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35431195/

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