LINQ怎么转换序列或集合

本篇内容主要讲解“LINQ怎么转换序列或集合”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ怎么转换序列或集合”吧!

转换序列或集合

在C#或VB中我们不能实现把序列从T类型转换为U类型,即使T从U类继承。因此,即使把List<string>转换为List<object>也很难实现。(要解释为什么,请看Bick Byer的帖子)。但是如果要把IEnumerable<T>转换为IEnumerable<U>的话,有一个简单而有效的LINQ解决方案:

IEnumerable<string> strEnumerable = …;  IEnumerable<object> objEnumerable = strEnumerable.Cast<object>();

如果我们需要转换List<T>为List<U>,也提供了LINQ解决方案,但是它会进行列表的复制:

List<string> strList = …;  List<object> objList = new List<object>(strList.Cast<object>());

Chris Cavanagh建议另外一种解决方式:

var objList = strList.Cast<object>().ToList();

到此,相信大家对“LINQ怎么转换序列或集合”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!