gpt4 book ai didi

c# - 使用 Linq 将对象列表分组为新的对象列表分组列表

转载 作者:IT王子 更新时间:2023-10-29 03:33:33 26 4
gpt4 key购买 nike

我不知道这在 Linq 中是否可行,但这里...

我有一个对象:

public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public int GroupID { get; set; }
}

我返回一个可能如下所示的列表:

List<User> userList = new List<User>();
userList.Add( new User { UserID = 1, UserName = "UserOne", GroupID = 1 } );
userList.Add( new User { UserID = 2, UserName = "UserTwo", GroupID = 1 } );
userList.Add( new User { UserID = 3, UserName = "UserThree", GroupID = 2 } );
userList.Add( new User { UserID = 4, UserName = "UserFour", GroupID = 1 } );
userList.Add( new User { UserID = 5, UserName = "UserFive", GroupID = 3 } );
userList.Add( new User { UserID = 6, UserName = "UserSix", GroupID = 3 } );

我希望能够对上面的列表运行 Linq 查询,该查询按 GroupID 对所有用户进行分组。所以输出将是包含用户的用户列表列表(如果这有意义?)。像这样的东西:

GroupedUserList
UserList
UserID = 1, UserName = "UserOne", GroupID = 1
UserID = 2, UserName = "UserTwo", GroupID = 1
UserID = 4, UserName = "UserFour", GroupID = 1
UserList
UserID = 3, UserName = "UserThree", GroupID = 2
UserList
UserID = 5, UserName = "UserFive", GroupID = 3
UserID = 6, UserName = "UserSix", GroupID = 3

我试过使用 groupby linq 子句,但这似乎返回了一个键列表,但它没有正确分组:

var groupedCustomerList = userList.GroupBy( u => u.GroupID ).ToList();

最佳答案

var groupedCustomerList = userList
.GroupBy(u => u.GroupID)
.Select(grp => grp.ToList())
.ToList();

关于c# - 使用 Linq 将对象列表分组为新的对象列表分组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697253/

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