在我的部分代码中,我将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
对我来说也很好。
答案 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)