C# IEnumerable选择除字符串外的所有

C# IEnumerable选择除字符串外的所有,c#,C#,在代码的一部分中,我将IEnumerable列表转换为字符串 String.Join(", ", e.User.Roles.Select(o => o.ToString())) 决定,例如: Admin, @everyone 这是使用Discord.Net SDK,其中角色是包含用户所有“等级”的IEnumerable 每个用户都有一个默认角色,我想从字符串中删除它。可以使用调用默认角色 e.Server.EveryoneRole 我的想法是使用Except过滤导致 System.L

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

String.Join(", ", e.User.Roles.Select(o => o.ToString()))
决定,例如:

Admin, @everyone
这是使用Discord.Net SDK,其中角色是包含用户所有“等级”的
IEnumerable

每个用户都有一个默认角色,我想从字符串中删除它。可以使用调用默认角色

e.Server.EveryoneRole
我的想法是使用
Except
过滤导致

System.Linq.Enumerable+<ExceptIterator>d__72`1[System.Char], System.Linq.Enumerable+<ExceptIterator>d__72`1[System.Char]
System.Linq.Enumerable+d_u72`1[System.Char],System.Linq.Enumerable+d_u72`1[System.Char]
或者只是简单地过滤掉
@everyone
对我来说也很好。

使用一个line Where子句。 比如:

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

您不能在其中使用一个
,例如以下内容吗

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

你能展示你试过的代码吗?你在哪里看到的?在调试器中?调试器不是查看Linq查询结果的好地方-您需要将其具体化为列表或其他结构。e.User.Roles的类型是什么?你也可以显示你的代码吗?特别是
。除了(…)
代码。谢谢,我没有想到使用where,效果很好