我的数据看起来像这样:
UserId | SongId
-------- --------
1 1
1 4
1 12
2 95
我也有以下类(class):
class SongsForUser
{
public int User;
public List<int> Songs;
}
我想做的是使用LINQ从我的数据中选择以创建SongsForUser对象的集合。以下是我到目前为止提出的内容:
var userCombos = songs.UserSongs.Select(x => new SongsForUser() { User = x.UserId,
Songs = /*What goes here?*/ });
我将如何填充
Songs
列表?因此,结果应该是两个SongsForUser对象。对于用户
1
,在Songs
列表中将包含3个项目。对于用户2
,它在Songs
列表中将有1个项目。 最佳答案
songs.UserSongs.GroupBy(x => x.User).Select(g => new SongsForUser()
{
User = g.Key,
Songs = g.Select(s => s.SongId).ToList()
});
关于c# - 如何使用LINQ选择对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11554414/