C# 将基类集合转换为派生类集合
你能帮我把基类的ObservableCollection转换成DerivedClass的IEnumerable吗C# 将基类集合转换为派生类集合,c#,C#,你能帮我把基类的ObservableCollection转换成DerivedClass的IEnumerable吗 谢谢。如果您知道所有项都是派生对象,请使用LINQ的Enumerable.Cast: 如果您确定所有项实际上都是派生类型,那么请使用Cast 如果某些可能不是该类型,则使用 IEnumerable<DerivedClass> results = observableCollection.OfType<DerivedClass>(); 如果有任何物品无法铸造,
谢谢。如果您知道所有项都是派生对象,请使用LINQ的Enumerable.Cast:
如果您确定所有项实际上都是派生类型,那么请使用Cast 如果某些可能不是该类型,则使用
IEnumerable<DerivedClass> results = observableCollection.OfType<DerivedClass>();
如果有任何物品无法铸造,铸造将抛出异常,OfType将不会将其包含在结果中。谢谢Jon和Servy。
var enumerable = collection.OfType<DerivedClass>();
IEnumerable<DerivedClass> results = observableCollection.Cast<DerivedClass>();
IEnumerable<DerivedClass> results = observableCollection.OfType<DerivedClass>();