IEnumerable选择除字符串以外的所有内容

时间:2016-04-12 21:23:31

标签: c#

在我的部分代码中,我将IEnumerable列表转换为字符串。

String.Join(", ", e.User.Roles.Select(o => o.ToString()))

解析为例如:

Admin, @everyone

这是使用Discord.Net SDK,其中Roles是IEnumerable,包含用户的所有“排名”。

我希望从字符串中删除每个用户的默认角色。可以使用

调用默认角色
e.Server.EveryoneRole

我的想法是使用Except来过滤导致

的默认角色
System.Linq.Enumerable+<ExceptIterator>d__72`1[System.Char], System.Linq.Enumerable+<ExceptIterator>d__72`1[System.Char]

或者只是过滤掉@everyone对我来说也很好。

2 个答案:

答案 0 :(得分:3)

您不能只使用where,例如以下内容吗?

String.Join(", ", e.User.Roles
                        .Where(o => o != e.Server.EveveryoneRole)
                        .Select(o => o.ToString()))

答案 1 :(得分:0)

使用行Where子句。 类似的东西:

String.Join(", ", e.User.Roles.Select(o => o.ToString()).Where(s => s != e.Server.EveveryoneRole)