C# Linq筛选器数组,其中包含从基类型继承的多个类型
我有一个名为C# Linq筛选器数组,其中包含从基类型继承的多个类型,c#,linq,C#,Linq,我有一个名为a的基类和两个子类B和C: class B : A { public string Description { get; set; } } class C : A { public string AnotherProperty { get; set; } } 我从一个返回B和C数组的方法中得到一个数组,并且 如果B.Description==“some text”,我想忽略集合中的项目 请帮助我如何做到这一点。在问题中显示相关代码在问题中显示相关代码你好,谢谢你的
a
的基类和两个子类B
和C
:
class B : A
{
public string Description { get; set; }
}
class C : A
{
public string AnotherProperty { get; set; }
}
我从一个返回B
和C
数组的方法中得到一个数组,并且
如果B.Description==“some text”,我想忽略集合中的项目代码>
请帮助我如何做到这一点。在问题中显示相关代码在问题中显示相关代码你好,谢谢你的回答。如果描述=“某些文本”,如何同时获取A和B,但忽略B@Mukildephthi:看一看。@CoderofCode:它工作得并不好,因为String
重载了=
操作符,以比较值而不仅仅是引用。但是Equals
允许比较不区分大小写,这在=
中是不可能的。您好,谢谢您的回复。如果描述=“某些文本”,如何同时获取A和B,但忽略B@Mukildephthi:看一看。@CoderofCode:它工作得并不好,因为String
重载了=
操作符,以比较值而不仅仅是引用。但是Equals
允许比较不区分大小写,这在=
中是不可能的。
List<A> list = ....
var query = list.OfType<B>().Where(b => b.Description != "some text");
var query = list.Where(a => !(a is B) || ((B)a).Description != "some text"));