You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将abc类列表按country字段分组转换为嵌套列表

最简便的实现是用C#自带的LINQ扩展方法,几行代码就能搞定:

首先引入LINQ命名空间:
using System.Linq;

假设你定义的原列表为List<abc> sourceList,分组代码如下:

// 最终得到的就是嵌套列表结构,每个子列表对应同一个country的所有abc实例
List<List<abc>> nestedList = sourceList
    .GroupBy(item => item.country)
    .Select(group => group.ToList())
    .ToList();

逻辑说明

  • GroupBy(item => item.country):以country字段为分组键,将所有同country的abc实例聚合为一个IGrouping<string, abc>类型的分组集合
  • Select(group => group.ToList()):把每个分组转为独立的List<abc>子列表
  • 最后调用ToList()把整体转为List<List<abc>>的嵌套列表结构,完全匹配你需要的输出格式

如果要验证输出是否符合预期,可以用以下遍历代码:

foreach (var countryGroup in nestedList)
{
    foreach (var abcItem in countryGroup)
    {
        Console.WriteLine($"Count: {abcItem.count} - country: {abcItem.country}");
    }
    // 不同国家分组之间输出空行分隔,和你给出的示例效果一致
    Console.WriteLine();
}

注意事项

如果是旧版.NET Framework项目运行报错,手动在项目引用里添加System.Core程序集即可,无需安装额外第三方依赖。

内容的提问来源于stack exchange,提问作者Flanker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:15:07