如何在实现接口的集合中找到第一个元素并直接使用它?

时间:2018-07-05 10:02:43

标签: c# collections interface

假设我具有以下设置:

interface IColor { }
interface IRedColor : IColor { }

现在有一个集合,例如List<IColor> list

当我现在想对实现接口IRedColor(如果有)的列表中的第一项做些事情时,我想到的最简单的方法是:

if (list.FirstOrDefault(c => c is IRedColor) is IRedColor redItem)
    redItem.DoRedItemStuff();

但这需要对接口实现进行两次检查,而且看起来有点难看。

还有其他更有效,更清晰的方法来获取和使用此项吗?

0 个答案:

没有答案