gpt4 book ai didi

c# - 用于组织的 Linq 表达式(类似于 Group By 但不同)

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:16 24 4
gpt4 key购买 nike

假设我有一个相当大的 IList<foo>在哪里 foo看起来像这样:

public class foo
{
public string Region { get; set; }
public string Territory { get; set; }
public string Location { get; set; }
public string Person { get; set; }
}

...有没有办法,使用一个相当快速/有效的表达,将这些 foo 项目“分组” Region ,所以我最终可能会得到 IDictionary<string, IList<foo>>并拥有 string关键是 Region属性(property),每个下属 IList<foo>仅包含 foo与该地区匹配的记录? (它不一定是 IDictionary ,这只是为了说明我正在尝试做的事情的要点。)我想向我的 MVC View 呈现一个交互式列表,以这种方式组织,而不必写一些东西比较复杂还是使用第三方库。

最佳答案

是的 - 你想要一个 Lookup :

var lookup = list.ToLookup(x => x.Region);

您可以通过分组来创建字典,但我个人更喜欢使用查找,因为它是专门为“单键多值”场景设计的。

关于c# - 用于组织的 Linq 表达式(类似于 Group By 但不同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7940070/

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