AsEnumerable , OfType , Cast 区别
来源:互联网 发布:淘宝网下载2016新版本 编辑:程序博客网 时间:2024/06/03 23:42
一、Enumerable.AsEnumerable<TSource> 方法
https://msdn.microsoft.com/zh-cn/library/bb335435%28v=vs.110%29.aspx
当实现类与基类都有相同的方法时( 基类是实现了 IEnumerable<T> ),要执行基本的方法,用 AsEnumerable
class AsEnumerableTest<T> : List<T> { public void Where(Func<T, bool> func) { Console.WriteLine("AsEnumerableTest 的 Where 方法"); } } public static void AsEnumerable() { AsEnumerableTest<int> q = new AsEnumerableTest<int>() { 1, 2, 3, 4 }; q.Where(r => r < 3); var v = q.AsEnumerable().Where(r => r < 3); Console.WriteLine(v.Count()); }
二、Enumerable.OfType<TResult> 方法
https://msdn.microsoft.com/zh-cn/library/bb360913%28v=vs.110%29.aspx
此方法是一个延迟执行的方法。只有执行遍历的时候,才会触发具体执行,当出现异常时,将进行忽略;
例:lsit 集合将有3个对象,会忽略第三个转换失败的对象.
ArrayList array = new ArrayList(); array.Add("a"); array.Add("b"); array.Add(4); array.Add("c"); List<string> lsit = new List<string>(); foreach (var v in array.OfType<string>()) { lsit.Add(v); }
三、Enumerable.Cast<TResult> 方法
https://msdn.microsoft.com/zh-cn/library/bb341406%28v=vs.110%29.aspx
此方法是一个延迟执行的方法。只有执行遍历的时候,才会触发具体执行,当出现异常时,会抛出异常;
例:在遍历到第三个数据时,将抛出异常。
ArrayList array = new ArrayList(); array.Add("a"); array.Add("b"); array.Add(4); array.Add("c"); List<string> lsit = new List<string>(); foreach (var v in array.Cast<string>()) { lsit.Add(v); }
0 0
- AsEnumerable , OfType , Cast 区别
- LINQ标准查询操作符(四) —AsEnumerable,Cast,OfType,ToArray,ToDictionary,ToList,ToLookup,First,Last,ElementAt
- AsEnumerable和AsQueryable的区别
- MyBatis ofType和javaType区别
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- LINQ使用细节之.AsEnumerable()和.ToList()的区别
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- Convert 和 Cast 区别
- cast和convert 区别
- CAST and CONVERT区别
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别 LINQ延迟执行
- Cast 与 Convert 的区别
- CAST 和 CONVERT的区别
- SQL CAST与CONVERT区别
- convert与cast的区别
- OFType枚举类
- 使用Spire.Barcode程序库生成二维码
- 密钥交换算法
- 使用MAP文件快速定位程序崩溃代码行
- 软件设计文档设计
- 智能家居-Android蓝牙通讯2
- AsEnumerable , OfType , Cast 区别
- IE事件模型与DOM事件模型
- NSArray里由NSDictionary组成,按照拼音A-Z重新排序。
- 使用镜像进行Android SDK安装
- maven setting
- Ubuntu小私房(3)--Grub,Burg 的使用
- UIGestureRecognizer学习笔记
- 二叉树题目集锦1
- iOS应用国际化教程(2014版)