yield关键字的使用
2018-06-18 02:33:18来源:未知 阅读 ()
yield的中文是什么意思呢?
在金山词霸上面的翻译是:
vt.
vi.
n.
个人觉得比较符合yield关键字在C#中的意思是退让,退位,让权。
yield关键字主要是在yield迭代器块中使用,使用yield的时候,C#编译器会创建一个状态机来保存当前我们迭代器块中的状态,返回当前需要返回的一个变量,然后暂时退出当前迭代器块。之后当下次需要调用迭代器块的时候,编译器会根据之前保存的状态然后进行你所定义的操作之后返回变量。
下面是一个例子:
创建一个IEnumerableExample类,实现IEnumerable接口,并在GetEnumerator方法中使用yield关键字进行返回变量。
public class IEnumerableExample:IEnumerable { private object[] values; public IEmuerableExample(object[] values) { this.values = values; } public IEnumerator GetEnumerator() { for(int i=0;i<values.Length;i++) { yield return values[i]; } } }
主函数:
static void Main(string[] args) { object[] values={'a','b','c','d'}; IEmuerableExample ie = new IEmuerableExample(values); foreach (var item in ie) { Console.WriteLine(item); } Console.ReadKey(); }
输出为:
这就是本人对于yield关键字的愚见,如有错误,请多多指正,谢谢。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 关键字decltype 2020-05-30
- C++ 在名称空间中使用using声明和using编译指令 2020-05-29
- 1.ffmpeg、ffplay、ffprobe命令使用 2020-05-11
- 关于使用ffmpeg的一些牢骚 2020-05-08
- G++编译链接的那些事!G++的特殊使用方法[常用] 2020-04-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash