我有一个IEnumerable
的{{1}},其中包含一个名为MyItem
的属性,可以有几种类型。
我想要特定类型的所有MyProperty
对象中的IEnumerable
个。有没有一个linq命令可以做到这一点?
我尝试过
MyProperty
或
myItems.Where(mi => mi.MyProperty is MyType).Select(li => li.MyProperty as MyType)
或
myItems.Select(mi => mi.MyProperty as MyType).Where(mp => mp != null)
一切似乎有些混乱。有没有更简单的命令可以做到这一点?
答案 0 :(得分:0)
我最终使用了
myItems.Select(mi => mi.MyProperty).OfType<MyType>()
如评论所示,这是最佳选择。