按照共同的用户ID将两个列表分组 - LINQ
创始人
2024-08-24 03:00:12
0

以下是一个使用LINQ的解决方案,它按照共同的用户ID将两个列表分组:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        List users1 = new List
        {
            new User { UserID = 1, Name = "User1" },
            new User { UserID = 2, Name = "User2" },
            new User { UserID = 3, Name = "User3" }
        };

        List users2 = new List
        {
            new User { UserID = 1, Name = "User1" },
            new User { UserID = 3, Name = "User3" },
            new User { UserID = 4, Name = "User4" }
        };

        var groupedUsers = users1.Concat(users2) // 合并两个列表
            .GroupBy(u => u.UserID) // 按照用户ID分组
            .Select(g => new
            {
                UserID = g.Key,
                Users = g.ToList()
            });

        foreach (var group in groupedUsers)
        {
            Console.WriteLine("Group: " + group.UserID);
            foreach (var user in group.Users)
            {
                Console.WriteLine(user.Name);
            }
            Console.WriteLine();
        }
    }
}

class User
{
    public int UserID { get; set; }
    public string Name { get; set; }
}

这段代码首先创建了两个包含User对象的列表(users1和users2)。然后,使用Concat方法将这两个列表合并为一个列表。

接下来,使用GroupBy方法按照User对象的UserID属性进行分组。这将返回一个包含多个IGrouping对象的IEnumerable集合,其中TKey是分组的键,TElement是分组内的元素类型。

最后,使用Select方法将每个分组转换为一个匿名类型对象,其中包含UserID和Users属性。Users属性是一个包含该分组中所有User对象的列表。

最后,我们遍历分组并打印结果。

这将输出:

Group: 1
User1
User1

Group: 2
User2

Group: 3
User3
User3

Group: 4
User4

相关内容

热门资讯

终于清楚!微乐陕西小程序破解版... 终于清楚!微乐陕西小程序破解版下载,关春天凑一桌辅助,安装教程(的确有挂);终于清楚!微乐陕西小程序...
热点推荐!微乐挖坑内购破解,彩... 热点推荐!微乐挖坑内购破解,彩票快三辅助软件,新版2025教程(有挂实锤);一、微乐挖坑内购破解AI...
一秒答解!雀神广东麻将必赢方法... 一秒答解!雀神广东麻将必赢方法,微信小程序自动透视微乐,切实教程(真是有挂);1、界面简单,没有任何...
查到实测!潮友辅助器开挂软件,... 查到实测!潮友辅助器开挂软件,海螺众娱辅助脚本,透明挂教程(有挂教程);1、点击下载安装,潮友辅助器...
必看攻略!新二号辅助软件价格,... 必看攻略!新二号辅助软件价格,新奇玩乐辅助器下载,解说技巧(的确有挂);1、完成新奇玩乐辅助器下载的...
热点推荐!潮友会鱼虾蟹下载链接... 【福星临门,好运相随】;热点推荐!潮友会鱼虾蟹下载链接,竞技联盟辅助,黑科技教程(有挂细节);暗藏猫...
免费测试版!蛮王大厅房卡辅助,... 您好,蛮王大厅房卡辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在...
一分钟了解!微乐多乐跑作弊,打... 一分钟了解!微乐多乐跑作弊,打哈儿麻将辅助下载,wpk教程(新版有挂);是一款可以让一直输的玩家,快...
技术分享!新众亿软件可以安装,... 技术分享!新众亿软件可以安装,九游辅助工具,透明教程(有挂教学)是一款可以让一直输的玩家,快速成为一...
指导大家!雀神挂件价格辅助开挂... 指导大家!雀神挂件价格辅助开挂,圣游科技,解密教程(有挂教学);一、雀神挂件价格辅助开挂有挂的是的,...