LINQ where查询不同派生类的集合
我有一个从同一个父对象派生的不同对象的集合 如何从包含混合类型的集合中提取特定类型的对象 e、 g 集合将包含类型为B和C的对象 我已经走到一半了,只是需要帮忙填写“[]”部分LINQ where查询不同派生类的集合,linq,Linq,我有一个从同一个父对象派生的不同对象的集合 如何从包含混合类型的集合中提取特定类型的对象 e、 g 集合将包含类型为B和C的对象 我已经走到一半了,只是需要帮忙填写“[]”部分 var x = from xTypes in xCollection where '[type of object is type B]' select xTypes; 谢谢 var x = from xTypes in xCollection where xTypes is B s
var x = from xTypes in xCollection where '[type of object is type B]' select xTypes;
谢谢
var x = from xTypes in xCollection
where xTypes is B
select xTypes;
或者,如果您想要的正是此类型而不是任何派生类型:
var x = from xTypes in xCollection
where xTypes.GetType() == typeof(B)
select xTypes;
或者,如果您想要的正是此类型而不是任何派生类型:
var x = from xTypes in xCollection
where xTypes.GetType() == typeof(B)
select xTypes;
对此,您应该使用类型的扩展方法而不是LINQ查询语法:
var x = xCollection.OfType<B>();
对此,您应该使用类型的扩展方法而不是LINQ查询语法:
var x = xCollection.OfType<B>();
我喜欢扩展方法。干净多了。谢谢。我喜欢扩展方法。干净多了。非常感谢。