按照共同的用户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

相关内容

热门资讯

连日来"wpk辅助&... 连日来"wpk辅助"wepoker插件程序激活码(其实真的有辅助辅助器)-哔哩哔哩1、wepoker...
透视总结"hhpok... 透视总结"hhpoker哪个俱乐部靠谱"wepoker透视脚本免费下载pc(真是是有辅助辅助器)-哔...
透视脚本"wepok... 透视脚本"wepoker私局辅助"hhpoker脚本(确实是真的辅助工具)-哔哩哔哩1.wepoke...
透视了解"智星德州辅... 您好,智星德州辅助译码插件靠谱吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【48527505...
现就发布提示"hhp... 现就发布提示"hhpoker是真的假的"hhpoker真的有透视吗(切实真的有辅助软件)-哔哩哔哩1...
相较于以往"德州局透... 相较于以往"德州局透视脚本下载安装最新版本"xpoker透视辅助(一直是有辅助安装)-哔哩哔哩1、德...
日前"wejoker... 日前"wejoker手机版透视脚本"aa poker辅助包(好像有辅助工具)-哔哩哔哩在进入wejo...
迎来新发展"wepo... 迎来新发展"wepoker私人辅助器"wepoker挂(竟然是真的辅助修改器)-哔哩哔哩1、下载好w...
事发当天"pokem... 事发当天"pokemmo修改器手机版"德普之星辅助器app(总是真的有辅助安装)-哔哩哔哩1、每一步...
透视计算"wepok... 透视计算"wepoker底牌透视"wpk辅助器(切实有辅助修改器)-哔哩哔哩1、金币登录送、破产送、...