yield return:使用.NET的状态机生成器
2024-10-12 06:16:03
通过关键字词组yield return,.Net Framework(从2.0开始)会为我们生成一个状态机.状态机实际上就是一个可枚举的类型化集合
理解yield return的工作方式
关键字词组yield return是迭代器模式(Iterator Pattern)的一种实现,能够将本身不是可迭代集合的对象做成可迭代集合
using System;
using System.Collections.Generic;
using System.Text; namespace SimpleYieldReturn {
class Program {
static void Main(string[] args) { foreach(int i in GetEvents()) {
Console.WriteLine(i);
}
Console.Read();
} public static IEnumerable<int> GetEvents() {
var integers = new[] { ,,,,,,, };
foreach(int i in integers) {
if(i % == ) {
yield return i;
}
}
}
} }
SimpleYieldReturn
GetEvents被当作集合来用,yield return导致编译器自动生成了可枚举类
最新文章
- Visro 应用的前端模板工具介绍 -JsRender
- Debug - 支持浏览器和 Node 平台的全端调试工具
- Android 弹出对话框Dialog充满屏幕宽度
- RCNN--对象检测的又一伟大跨越
- Boot loader: Grub进阶[转]
- js两种创建对象方式
- phpeclipse xdebug 配置配置 -摘自网络
- 【课上OJ】判断密码强度
- 【KMP】剪花布条
- 【剑指offer】面试题30:最小的 k 个数
- Servlet 浅谈(二)
- 安装cocopods 更新ruby
- mui开发app之webview是什么
- Python之路【第六篇】:Python迭代器、生成器、面向过程编程
- Spring MVC 使用介绍(十一)—— 跨域与静态资源访问
- vue实战 - 车牌号校验和银行校验
- 32. linux下oracle数据库定时备份
- 点分治 poj1741
- [Bayes] prod: M-H: Independence Sampler for Posterior Sampling
- rabbitmq学习(五) —— 路由