当前位置: 首页 > news >正文

设计网站有没有版权眉山建行网站

设计网站有没有版权,眉山建行网站,wordpress网页如何设置灰色边框,湖南网络广告策划推广在C#中,自定义遍历器需要实现IEnumerable接口和IEnumerator接口。其中,IEnumerable接口包含一个GetEnumerator方法,该方法返回一个IEnumerator接口的实例,而IEnumerator接口包含Current、MoveNext和Reset方法。 IEnumerable&#…

        在C#中,自定义遍历器需要实现IEnumerable接口和IEnumerator接口。其中,IEnumerable接口包含一个GetEnumerator方法,该方法返回一个IEnumerator接口的实例,而IEnumerator接口包含Current、MoveNext和Reset方法。

IEnumerable:IEnumerable是一个接口,它代表一个可以迭代的集合。这意味着可以使用IEnumerator:foreach循环遍历IEnumerable对象中的元素。

在C#中,IEnumerator是.NET框架中的一个接口,它用于在集合中遍历元素。这个接口通常与使用foreach循环来遍历集合的代码一起使用。

IEnumerator接口定义了两个主要的方法:MoveNext()Reset()

  • MoveNext()方法用于将迭代器移动到集合中的下一个元素。如果集合中没有更多的元素,则该方法将返回false
  • Reset()方法用于重置迭代器,使其重新回到集合的起始位置。

此外,IEnumerator接口还定义了一个Current属性,它返回当前迭代器位置的元素。

一、yield关键字生成迭代器

using System;  
using System.Collections.Generic;  class Program  
{  static void Main()  {  foreach (int number in GetNumbers())  {  Console.WriteLine(number);  }  }  static IEnumerable<int> GetNumbers()  {  for (int i = 0; i < 10; i++)  {  yield return i;  }  }  
}

         只有IEnumerable才能通过foreach被遍历。

二、关于IEnumerator的用法示例

List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };  IEnumerator enumerator = fruits.GetEnumerator();  while (enumerator.MoveNext())  
{  string fruit = (string)enumerator.Current;  Console.WriteLine(fruit);  
}

通过这个例子可以看出来 IEnumerable是一个可以迭代的集合,而IEnumerator是定义foreach迭代器。

三、自定义一可以遍历的类

 public class Program{static void Main(string[] args){student st = new student();st.add(2);st.add(3);st.add(100);foreach (var item in st){Console.WriteLine(item);}Console.Read();}}public class student : IEnumerable, IEnumerator{private List<int> _data;private int position = -1;private List<int> data = new List<int>();public student(){ }public student(List<int> data){this._data = data;}public object Current => _data[position];public void add(int num){data.Add(num);}public IEnumerator GetEnumerator(){return new student(data);}public bool MoveNext(){position++;return position < _data.Count;}public void Reset(){position = -1;}}

代码2


using System;
using System.Collections;public class MyList : IEnumerable
{private int[] data = { 1, 2, 3, 4, 5 };public IEnumerator GetEnumerator(){return new MyEnumerator(data);}
}public class MyEnumerator : IEnumerator
{private int[] data;private int position = -1;public MyEnumerator(int[] data){this.data = data;}public object Current{get{return data[position];}}public bool MoveNext(){position++;return (position < data.Length);}public void Reset(){position = -1;}
}// 使用自定义遍历器
class Program
{static void Main(string[] args){MyList list = new MyList();foreach (int i in list){Console.WriteLine(i);}}
}

http://www.yayakq.cn/news/235781/

相关文章:

  • 虚拟主机子网站wordpress直播插件
  • 企业网站推广营销软件网站开发实训报告
  • 衣服网站建设方案设计公司logo免费设计生成器
  • 快递网站怎么制作潍坊专业技术继续教育平台
  • jsp做网站 案例猎聘招聘官方网站
  • 平安车险官方保险网站为企业做网站建设优化小程序包年竞价
  • 俄语网站推广通哪个网站的ppt模板最好
  • 做网站设计制作的公司wordpress房产主题汉化版
  • 网站规划与建设ppt模板下载wordpress主题 幻灯
  • 上海公共招聘网官方网站断桥铝门窗制作需要哪些工具
  • 建个什么网站赚钱手机端网站开发源码
  • 怎么降低网站的跳出率郑州做网站服务器
  • 租车公司网站模板网站排名第一
  • 百度站点提交工具idc网站是用什么语言做的
  • 备案期间关闭网站网站建设价格差异好大
  • 龙城网站建设益阳高端网站建设
  • 德阳建设厅官方网站百度投诉中心24人工
  • 怎样做招嫖网站网站推广套餐
  • 怎么更换网站logo国内主要的o2o电商平台
  • 电子产品网站建设策划书已注册的网站如何注销
  • 深圳做网站公司有哪些上海国际贸易有限公司
  • 建设网站方式有哪些免费论坛建站系统
  • 网站空间与服务器wordpress导航页
  • 标准型网站构建查企业免费的网站
  • 专业网站设计公司推荐wordpress 商品分类
  • 网站 f型长春网络公司营销模式
  • 网站备案资料修改用什么软件写网站
  • 广州市做民宿什么网站比较好西安网站建设 玖佰网络
  • 织梦wordpress帝国对比深圳网站建设模板乐云seo
  • 域名 利用域名做网站 邮箱网站效果代码