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

相关内容

热门资讯

大神推荐!博乐填大坑辅助器通用... 大神推荐!博乐填大坑辅助器通用版(外挂辅助工具)详细教程(有挂透明)-哔哩哔哩关于博乐填大坑辅助器通...
免费测试版!中至上饶小程序有挂... 免费测试版!中至上饶小程序有挂的(外挂辅助插件)详细教程(有挂透明)-哔哩哔哩;亲,其实确实真的有挂...
总算了解!创思维激k辅助器(外... 总算了解!创思维激k辅助器(外挂辅助软件)详细教程(有挂透明)-哔哩哔哩;一、创思维激k辅助器AI软...
指导大家!蜜瓜大厅有挂的(外挂... 指导大家!蜜瓜大厅有挂的(外挂辅助神器)详细教程(有挂技巧)-哔哩哔哩;原来确实真的有挂(需添加指定...
透明肯定!开元辅助器下载(外挂... 透明肯定!开元辅助器下载(外挂辅助APP)详细教程(有挂透明)-哔哩哔哩是一款可以让一直输的玩家,快...
一分钟了解!大晋斗地主随意选牌... 自定义大晋斗地主随意选牌系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不...
专业讨论!aapoker下载教... 专业讨论!aapoker下载教程(外挂辅助器)详细教程(有挂方法)-哔哩哔哩;一、aapoker下载...
一分钟揭秘!八闽十三水有外挂的... 一分钟揭秘!八闽十三水有外挂的(外挂辅助工具)详细教程(有挂方法)-哔哩哔哩1、许多玩家不知道八闽十...
透明科技!对战互娱有挂的(外挂... 此外,数据分析德州(对战互娱有挂的)辅助神器app还具备辅助透视行为开挂功能,通过对客户对战互娱有挂...
今日重大通报!青龙辅助软件(外... 今日重大通报!青龙辅助软件(外挂辅助挂)详细教程(有挂教程)-哔哩哔哩;玩家在青龙辅助软件中需先进行...