以下是我的游戏玩家列表以及他们喜欢的游戏:
播放器1:魔兽,RS,MS
播放器2:AQ,CoD,LoL,RS
播放器3:D3,马里奥,魔兽世界
player4:LoL,MS
列表属性为public List<string> Games { get; set; }
现在这就是我在代码中尝试的内容
var result = Gamer.GetGamer()
.Select(x => x.Games)
.Distinct()
.Dump("List of Different Games Played");
GetGamer()
方法返回游戏玩家列表。
现在问题在于它会显示游戏列表但会重复而不是具有不同的值。
我真正想要的是正在播放的不同游戏的总数。如何在不重复的情况下显示它们?
答案 0 :(得分:3)
使用SelectMany
代替Select
:
Gamer.GetGamer()
.SelectMany(x => x.Games)
.Distinct()
.Dump();
如果您希望获得Count
,请在Count
之后添加Distinct