网站建设 报价单,wordpress如何导入文章,长沙点梦网站建设,网站高级感这节讲一下接口IEnumerable。01什么是Enumerable在一些返回集合数据的接口中#xff0c;我们经常能看到IEnumerable接口的身影。那什么是Enumerable呢#xff1f;首先它跟C#中的enum关键字所表达的意思是不同的#xff0c; 从翻译上来看#xff1a;可枚举的#xff0c;展开… 这节讲一下接口IEnumerable。01什么是Enumerable 在一些返回集合数据的接口中我们经常能看到IEnumerable接口的身影。那什么是Enumerable呢首先它跟C#中的enum关键字所表达的意思是不同的 从翻译上来看可枚举的展开来说就是它的数据是一枚一枚可以让我们列举出来。就像人们排队去打疫苗排队的人就是可枚举的他们有的开车有走着有早有晚全都按照先来后到的顺序排好队当医生开始进行打疫苗的工作时他并不关心有多少人在排队也不关心是否有人迟到当然也不能越过第一个人让其后边的人先进来打他只能说“请下一个人进来打疫苗”如果没人响应医生就等着直到有人进来开始接种当前这个人完成接种后医生继续叫下一个人直到所有人都打完疫苗。这样的情景在编程中就体现为对Enumerable数据的操作。02接口成员及使用示例 我们先来看接口中有什么因为IEnumerable接口一般都是用其泛型版我们直接看这种 接口内容很简单但是其中又出现了一个名为IEnumerator的接口我们可以称之为枚举器再来看看IEnumerator内部成员 IEnumerator接口有三个成员Current就是保存的当前数据对象MoveNext方法则是将指针指向下个对象(类似打疫苗情景中的下一位)Reset则是将指针复位泛型版接口则对其内部名为Current的成员指定了类型。也就是说通过枚举我们可以获取一个枚举器通过枚举器我们能找到一个个数据对象明白了这一点我们就能大体上了解如何通过IEnumerable来获取数据了那下面请看代码 代码中有一个返回IEnumerablestring的方法用来模拟数据的产生其中用到了一个yield关键字我简单来说yield return就是部分返回产生了一个数据就返回一个yield具体用法请看我上一篇分享的文章[C#.NET 拾遗补漏] 理解 yield 关键字这个方法最终的运行效果就是一秒钟返回一个当前时间构成一个IEnumerablestring集合。 foreach就是为遍历IEnumerable数据打造的它里边为我们封装了访问枚举器的操作所以我们用它来遍历数据非常方便下面来看一下运行效果 当然我们也想知道不用foreach应该怎么遍历IEnumerable数据所以请看如下代码 拿到枚举器我们就可以调用MoveNext找数据(为什么要先调用MoveNext而不是先取值再调用MoveNext寻找下一个数据大家可以再次联想一下打疫苗的情景是先叫人人到了才能打疫苗)该方法返回bool值有数据可寻则返回true无数据则返回false这就是循环的关键运行结果跟上图一致此处不再展示。本节到此结束...