问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在C#中,为什么不能匿名方法包含yield语句

发布网友 发布时间:2023-10-30 04:53

我来回答

1个回答

热心网友 时间:2024-04-08 05:17

yield(C# 参考) 在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。它的形式为下列之一: yield return ; yield break; 备注 : 计算表达式并以枚举数对象值的形式返回;expression 必须可以隐式转换为迭代器的 yield 类型。 yield 语句只能出现在 iterator 块中,该块可用作方法、运算符或访问器的体。这类方法、运算符或访问器的体受以下约束的控制: 不允许不安全块。 方法、运算符或访问器的参数不能是 ref 或 out。 yield 语句不能出现在匿名方法中。 当和 expression 一起使用时,yield return 语句不能出现在 catch 块中或含有一个或多个 catch 子句的 try 块中。 yield return 提供了迭代器一个比较重要的功能,即取到一个数据后马上返回该数据,不需要全部数据装入数列完毕,这样有效提高了遍历效率。 以下是一个比较特殊的例子: using System; using System.Collections; using System.IO; using Microsoft.Office.Interop.PowerPoint; using Microsoft.Office.Core; using System.Windows.Forms; using System.Threading; namespace test { public class Persons : System.Collections.IEnumerable { #region IEnumerable 成员 public System.Collections.IEnumerator GetEnumerator() { yield return "一"; Thread.Sleep(5000); yield return "二"; Thread.Sleep(5000); yield return "三"; Thread.Sleep(5000); yield return "四"; Thread.Sleep(5000); yield return "5"; Thread.Sleep(5000); yield return "陆"; } #endregion } class program { static void Main() { Persons arrPersons = new Persons(); foreach (string s in arrPersons) { System.Console.WriteLine(s); } System.Console.ReadLine(); } } } 每隔5秒钟, 控制台就会输出一个数据,直到全部数据输入完毕
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? “静”,为何左边是青,右边是争呢?祖先想表达的意思又是如何呢?_百度知 ... 仙剑奇侠传3中的所有歌曲各叫什么992 《仙剑奇侠传3》中《此生不换》歌词127 小鸭为什么要烫嘴 用什么数字最好最有意义?607 个人用什么样的最好?6 昂科拉百公里加速。13 别克昂科拉的发动机技术和宝骏730的特有技术是不一样3 中华民国4年银元值多少钱?37 中华民国十年银元? 微信被封,急急急,要解封,封过三次了1 比如自己家有堂口,可以在替亲戚供一个堂口吗?急急急1 1992年属猴今年虚岁多大今天2018年,虚岁多大158 如何在手机上同时登录两个334 苏州慈济门诊部有限公司怎么样? 诗仙,诗圣,诗佛,诗鬼,诗魔,诗豪,诗杰,诗狂,诗囚,诗奴分...5717 除了诗仙 诗圣 诗鬼 诗魔 诗佛,还有诗什么???分别指谁?788 诗仙诗圣、诗鬼诗佛??诗人的称号还有什么?1 怎么找回原来注册的 急急急!求大神帮忙看看,是真还是假,谢谢! 我国对外开放的目的是什么?77 怎么修改?已经修改过一次了 想再修改一次。 盛开的花为什么还是花? 诗人的称号都有哪些?比如诗仙、诗圣、诗佛等等。446 诗仙 诗圣 诗鬼 诗史 都是谁,还有什么称号?284 诗圣、诗仙、诗魔、诗神、诗狂、诗佛、诗鬼分别是谁?853 五年级作文关于秋天2oo个字秋天的景色17 描写一座山的风景片段200子13 1995年12月出生,到2018年2月,多少岁了62 检查院未批逮捕,但公安局采取取保候审,以后公安局会怎么处理这种... 梦见弟弟掉冰水里1 梦见自己陷入冰水坑然后上来了1 您好,想加一下老师微信!方便不1 索尼,“RX10” 和“RX100”两个系列,有什么区别...1 您好。请问SONYRX100、RX10、RX1这三个系列...595 从建国门到大雁塔北广场怎么坐公交车,最快需要多久 别克昂科拉是用的哪国技术16 昂科拉的发动机型号luj是进口的吗6 设置有什么好处?230 是不是私营企业不给加班费很正常?中午公司给员工提供午餐是额外...