如何从列表中打印不同的名称

本文关键字:打印 列表 | 更新日期: 2023-09-27 17:56:08

这是我的游戏玩家列表以及他们喜欢的游戏:

玩家1:魔兽世界,RS,MS

玩家2: AQ, CoD, LoL, RS

玩家3: D3, 马里奥, 魔兽世界

玩家4:英雄联盟,MS

列表属性为public List<string> Games { get; set; }

现在这就是我在代码中尝试过的

var result = Gamer.GetGamer()
                  .Select(x => x.Games)
                  .Distinct()
                  .Dump("List of Different Games Played");

GetGamer() 方法返回游戏玩家列表。

现在这里的问题是它将显示游戏列表,但会重复而不是具有不同的值。

我真正想要的是正在玩的不同游戏的总数。如何在不重复的情况下显示它们?

如何从列表中打印不同的名称

使用 SelectMany 而不是 Select

Gamer.GetGamer()
     .SelectMany(x => x.Games)
     .Distinct()
     .Dump();

如果您想获得Count只需在Distinct后添加Count