根据集合中的子类类型从集合中选择项目

swe*_*tfa 0 c#

class A {}
class B : A {}
class C : A {}

ICollection<A> myCollection;
var myresults = myCollection.Where(item => item.GetType() is C);
Run Code Online (Sandbox Code Playgroud)

鉴于上面的层次结构,谓词有效地做了什么.

如何构造where谓词以从集合中返回C类型的所有项?

Yog*_*pta 5

而不是你可以使用的地方 OfType<TResult>

var myresults = myCollection.OfType<C>();
Run Code Online (Sandbox Code Playgroud)