首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

List<Base>包含不同的派生类型。如何使用LINQ安全地转换?

在使用LINQ安全地转换List<Base>包含不同的派生类型时,可以使用OfType<T>()方法来筛选出指定类型的元素。OfType<T>()方法会返回一个只包含指定类型元素的IEnumerable<T>集合。

下面是使用LINQ安全地转换List<Base>包含不同的派生类型的示例代码:

代码语言:csharp
复制
List<Base> list = new List<Base>();
list.Add(new Derived1());
list.Add(new Derived2());
list.Add(new Derived3());

IEnumerable<Derived1> derived1List = list.OfType<Derived1>();
IEnumerable<Derived2> derived2List = list.OfType<Derived2>();
IEnumerable<Derived3> derived3List = list.OfType<Derived3>();

// 使用derived1List、derived2List、derived3List进行后续操作

在上述示例中,我们首先创建了一个List<Base>类型的集合,并向其中添加了不同的派生类型的对象。然后,通过使用OfType<T>()方法,我们可以将集合中的元素按照指定的派生类型进行筛选,得到相应类型的IEnumerable<T>集合。

需要注意的是,OfType<T>()方法只会返回指定类型的元素,而不会抛出异常或返回null。如果集合中存在无法转换为指定类型的元素,该元素会被忽略。

对于上述问题中提到的List<Base>包含不同的派生类型,可以根据实际情况使用多次OfType<T>()方法进行转换,以获取不同类型的派生对象集合。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法给出相关链接。但腾讯云提供了丰富的云计算服务,可以通过访问腾讯云官方网站获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券