Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq筛选器数组,其中包含从基类型继承的多个类型_C#_Linq - Fatal编程技术网

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"));