Linq过滤器数组,包含从基类型继承的多种类型

时间:2015-03-26 16:35:36

标签: c# linq

我有一个名为A的基类和两个子类BC

class B : A
{
    public string Description { get; set; }
}

class C : A
{
    public string AnotherProperty { get; set; }
}

我从一个方法返回一个数组,该方法返回BC的数组,和 如果B.Description == "some text";

,我想忽略集合中的项目

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

List<A> list = ....
var query = list.OfType<B>().Where(b => b.Description != "some text");

如果您还想要所有不是B

的内容
var query = list.Where(a => !(a is B) || ((B)a).Description != "some text"));