使用Linq将对象列表分组到对象列表的新分组列表中
我不知道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();
蓝山帝景
呼如林
相关分类