假设我有一个名为 MyThings
的集合,其中包含 Thing
类的对象,并且我有一个名为 ShinyThing
的派生类来自 Thing
,所以我这样做:
MyThings boxWithMyThings = new MyThings();
ShinyThing Diamond = new ShinyThing(){ facets = 10; weight = 500 };
boxWithMyThings.Add(Diamond);
如何使用派生类的属性过滤集合 boxWithMyThings
?
最佳答案
大概您只想要 ShinyThings?如果是这样,请使用 OfType
:
// I'm assuming MyThings implements IEnumerable<MyThing>
var heavyShinyThings = boxWithMyThings.OfType<ShinyThing>()
.Where(x => x.weight > 100);
关于c# - 如何根据派生类字段过滤基类集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16701068/