在Linq中反转OFType?

时间:2012-03-19 15:41:28

标签: c# linq

  

可能重复:
  How can I implement NotOfType<T> in LINQ that has a nice calling syntax?

我有一个集合,我想迭代所有类型为Foo的对象。基本上我喜欢与OfType<Foo>()相反的东西。这样做的适当方法是什么?

到目前为止,我已经使用过:

var result = myList.Where(elem => !(elem is Foo));

2 个答案:

答案 0 :(得分:9)

您的代码没有错。

如果您想重复使用此代码,可以在扩展方法中对此进行封装,因为它是为OfType<Foo>()

完成的

答案 1 :(得分:0)

可能是这样的

var result = myList.Where(elem => (elem as Foo)==null)

希望这有帮助。