C# --什么时候用迭代器(Iterator)?

C# --什么时候用迭代器(Iterator)?

1.前言

众所周知,完成一个软件功能,方法可能有很多种。从某种角度看,似乎只要能够实现这个功能,那么任务就完成了。刚开始写代码的时候,很多人都是这么想的,心里甚至还会自我鼓励,功能都搞定了,还管那么多干啥。
随着时间和水平的推进,学习到了一些新特性和方法,突然发现之前的代码还可以这样写。此时是选择回去重构之前的代码,还是不再追究、一晃而过?
必须重构。此文及后面一系列的文章的目的在于此,即学以致用,菜鸟的进阶肯定是从这里开始的。
C# 提供的很多特性,诸如:泛型属性异步方法Lambda表达式等等,如果不用起来,就一直放在那里了,似乎也没什么影响。但是只要开始尝一下甜头,就会对之前的代码嗤之以鼻。当初抓破脑袋写了三天的功能,还不算调试排Bug的时间,现在只需要半小时就能搞定,通常也会具有如下优点:

  • 简洁优雅
  • 性能更高
  • 耦合性低

今天先讲一讲迭代器。

2.迭代器简介

简单来说,迭代器的功能是对集合进行一些操作。
迭代器方法主要使用yield return 返回集合中的元素,一次一个。方法的返回类型定义为IEnumerable\IEnumerator,在返回后会记住当前位置,下次方法被调用时仍然从那个位置开始。
使用迭代器方法是通过foreach

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值