"yieldbreak;" 是什么意思?在 C# 中做什么?

2023-12-06

我在MSDN上看到过这样的语法:yield break,但我不知道它有什么作用。有人知道吗?


它指定迭代器已结束。你可以想到yield break as a return不返回值的语句。

例如,如果将函数定义为迭代器,则函数的主体可能如下所示:

for (int i = 0; i < 5; i++)
{
    yield return i;
}

Console.Out.WriteLine("You will see me");

请注意,循环完成所有循环后,最后一行将被执行,您将在控制台应用程序中看到该消息。

或者像这样yield break:

int i = 0;
while (true)
{
    if (i < 5)
    {
        yield return i;
    }
    else
    {
        // note that i++ will not be executed after this
        yield break;
    }
    i++;
}

Console.Out.WriteLine("Won't see me");

在这种情况下,最后一条语句永远不会执行,因为我们提前离开了该函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

"yieldbreak;" 是什么意思?在 C# 中做什么? 的相关文章

随机推荐

  • 将 .NET 刻度转换为 SQL Server DateTime

    我正在保存一个TimeSpan 来自 NET 我的数据库中的值为BIGINT在 SQL Server 中 保存 Ticks 属性 我想知道如何转换这个BIGINT值对一个DATETIMESQL Server 中的值 不是 NET 中的值 有
  • 空手道框架的 JSON 报告

    如何在使用空手道框架时生成 JSON 报告 以便我可以使用黄瓜报告插件在 JENKINS 中使用它 我的空手道版本是 空手道 apache 0 8 0 空手道 junit4 0 8 0 你真的应该阅读文档 https github com
  • 使用 if() 在 dplyr 管道链中使用 select()

    已经阅读了这两篇文章 dplyr 包可以用于条件变异吗 R 使用管道运算符时的条件评估 gt 我正在使用 Shiny input selector 如果用户选择了特定值 我希望我的数据框与其他值不同 这是一条链 filtered funne
  • 显示消息等待...当后台处理发生时

    我想将消息显示为 请稍候 直到我的 java 代码完成一些处理 page1 jsp 我的表单 其中有文本框和提交按钮 当单击提交按钮时 我正在执行表单提交并调用 page2 jsp 在页面 2 jsp 中 我从页面 1 jsp 请求参数并传
  • 如何使用 Java 发出 multipart/form-data POST 请求?

    在 Apache Commons HttpClient 版本 3 x 时代 可以进行 multipart form data POST 请求 2004年的例子 不幸的是 这在以下情况下不再可能HttpClient 4 0 版本 对于我们的核
  • 列出 R 向量中的不同值

    如何列出向量中具有重复值的不同值 我的意思是 类似于下面的 SQL 语句 SELECT DISTINCT product code FROM data 你的意思是unique R gt x c 1 1 2 3 4 4 4 R gt x 1
  • Gulp.js 任务,返回 src?

    我是 gulp 的新手 一直在研究示例设置 有些人有以下结构 gulp task XXXX function gulp src 其他人有这个 gulp task XXXX function return gulp src 我想知道有什么区别
  • 使用 getImageData、javascript、HTML5 canvas 会导致内存泄漏吗

    我正在使用 canvas 元素 并尝试在 FIrefox 4 中使用 Javascript 对图像进行一些基于像素的操作 以下代码泄漏内存 我想知道是否有人可以帮助识别泄漏的内容 使用的图像是预加载的 一旦加载 到 pImages 数组中
  • 如何使用 spring-data-couchbase 为特定 Couchbase 文档设置 TTL?

    如何使用 spring data couchbase 为特定的 couchbase 文档设置 TTL 生存时间 我知道有一种方法可以使用文档符号设置到期时间 如下所示 Document 过期 10 http docs spring io s
  • IIS FTP 7.5 扩展性(IFtpLogProvider 并将 FTP 故障记录到事件日志中)

    任何非常熟悉 IIS 中 FTP 7 5 可扩展性的人都知道我可能做错了什么吗 我在使 IFtpLogProvider 的实现正常工作以进行自定义日志记录时遇到严重困难 我想做的就是将超出静态阈值的故障记录到事件日志中 并经常进行垃圾收集
  • Python:tarfile 流

    我想从 tarball 中读取一些文件并将其保存到新的 tarball 中 这是我写的代码 archive dum 2164 archive tar Read input data input tar tarfile open archiv
  • ASP.NET:将数据从内容页传递到母版页[重复]

    这个问题在这里已经有答案了 我有一个名为headerLabel在我的母版页中 我想将其文本设置为内容页面中的标题 我该怎么做呢 在您的主页上创建一个公共属性 类似于 public string LabelValue get return t
  • 如何在openGL中纹理随机凸四边形

    好吧 为了制作一个 我的世界 模组 我开始查找 openGL 教程 我对此仍然不太了解 因为我认为在进行我想要的小修改时我真的不应该这样做 但这让我很头疼 我想要做的就是能够将纹理正确映射到不规则的凹四边形 像这样 在尝试在游戏中运行代码之
  • chrome.filesystem 保存文件而不提示位置

    我可以将文件保存在自定义位置 home Users user1 带名字file1 txt 我有这个代码 chrome fileSystem chooseEntry type openDirectory function entry chro
  • 在 VB.net 中打印外部 PDF 文档

    我知道这个问题以前曾被问过 但我的情况有点不稳定 基本上 我正在尝试打印使用以前的 Windows 窗体生成的 PDF 文件 我可以毫无问题地找到该文件 并且我使用了从 MSDN 帮助论坛找到的以下代码 Dim p As New Syste
  • 返回响应后关闭 HTTP 服务器

    我正在构建一个基于命令行的 Go 机器人 它与 Instagram API 交互 Instagram API 基于 OAuth 因此不太适合基于命令行的应用程序 为了解决这个问题 我在浏览器中打开适当的授权 URL 并使用我为重定向 URI
  • 如何正确加载数千条记录到Realm?

    我尝试使用 Realm 将大约 8000 条记录保存到磁盘中 但它阻塞了 UI 结果 我用Realm asyncOpen在后台线程中执行数据保存 当我尝试以这种方式保存大量记录时 问题是 CPU 使用率 100 如何正确加载数千条记录到Re
  • Discord.py 从机器人向机器人发送斜线命令

    我正在开发一个机器人 该机器人应该在 Discord 频道中发送斜杠命令 并且这些斜杠命令将由同一频道中的另一个机器人接收 但是 当我发送格式为斜杠命令的消息时 另一个机器人不会将其检测为命令 而是将其检测为简单的文本消息 这是我的代码 i
  • 如何枚举所有分区并聚合结果

    我有一个多分区的有状态服务 我怎样才能枚举它的所有分区和聚合结果 使用服务远程处理用于客户端和服务之间的通信 您可以使用枚举分区FabricClient var serviceName new Uri fabric MyApp MyServ
  • "yieldbreak;" 是什么意思?在 C# 中做什么?

    我在MSDN上看到过这样的语法 yield break 但我不知道它有什么作用 有人知道吗 它指定迭代器已结束 你可以想到yield break as a return不返回值的语句 例如 如果将函数定义为迭代器 则函数的主体可能如下所示