亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Linq將對象列表分組到對象列表的新分組列表中

使用Linq將對象列表分組到對象列表的新分組列表中

C#
慕桂英546537 2019-08-27 13:48:08
使用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();
查看完整描述

3 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

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


查看完整回答
反對 回復 2019-08-27
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

您的組聲明將按組ID分組。例如,如果你然后寫:

foreach (var group in groupedCustomerList){
    Console.WriteLine("Group {0}", group.Key);
    foreach (var user in group)
    {
        Console.WriteLine("  {0}", user.UserName);
    }}

應該工作正常。每個組都有一個鍵,但也包含IGrouping<TKey, TElement>一個集合,允許您迭代組的成員。正如李提到的那樣,如果你真的想要,你可以將每個組轉換成一個列表,但是如果你只是按照上面的代碼迭代它們,那么這樣做沒有任何實際好處。


查看完整回答
反對 回復 2019-08-27
  • 3 回答
  • 0 關注
  • 509 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號