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();