gpt4 book ai didi

c# - LINQ to Lookup 具有不同的项目和计数

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

如果我将列表定义为

public class ItemsList
{
public string structure { get; set; }
public string Unit { get; set; }
public double Dim { get; set; }
public double Amount { get; set; }
public int Order { get; set; }
public string Element { get; set; }
}

List<ItemsList> _itemsList = new List<ItemsList>();

我正在尝试获取 Lookup 中结构的不同计数,其中结构作为键,结构计数作为值。

目前我有

var sCount = from p in _itemsList
group p by p.Structure into g
select new { Structure = g.Key, Count = g.Count() };

但这只是将数据作为匿名类型返回。有人可以帮助我使用 .ToLookup 将其放入 Lookup 的语法吗?

最佳答案

怀疑你真的想要:

var lookup = _itemsList.ToLookup(p => p.Structure);

您仍然可以计算任何组的项目:

foreach (var group in lookup)
{
Console.WriteLine("{0}: {1}", group.Key, group.Count());
}

...但是您还得到了每个组中的

如果您真的只是想要计数,那么听起来您根本不需要查找 - 您想要一个 Dictionary,您可以通过以下方式获得它:

var dictionary = _itemsList.GroupBy(p => p.Structure)
.ToDictionary(g => g.Key, g => g.Count());

关于c# - LINQ to Lookup 具有不同的项目和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12944437/

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