zoukankan      html  css  js  c++  java
  • C# yield return 流程理解

    代码如下:  在Documents1方法中使用yield return之后, 下次在进入Documents1方法就是从上一次yield return部分执行

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    namespace C数据结构与算法
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<string> docs1 = new List<string>();
                docs1.Add("1");
                docs1.Add("2");
                docs1.Add("3");
                docs1.Add("4");
                docs1.Add("5");
               
                foreach (string item in Documents1(docs1))
                {
                    Console.WriteLine("获取值: " + item);
                    Thread.Sleep(2000);
                }
    
                Console.ReadKey();
            }
    
    
            static IEnumerable Documents1(List<string> docs)
            {
                foreach (var item in docs)
                {
                    if (item != "4")
                    {
                        Console.WriteLine("返回值: " + item);
                        //yield return语句返回集合的一个元素,并移动到下一个元素上  
                        yield return item;
                        Console.WriteLine("用完值: " + item);
                    }
                        
                }
    
                Console.Write(" {0} ", "循环完毕");
            }
        }
    }

    image

    如果你感兴趣,你可以把你妹妹介绍给我
  • 相关阅读:
    DOS命令
    利用cmd合并文件
    Word文档编辑
    初识Java
    变量、数据类型、运算符-2
    设计模式之策略模式
    设计模式之装饰者模式
    第18章 java I/O系统(3)
    第18章 java I/O系统(2)
    第四章 栈与队列3 (堆栈的应用)
  • 原文地址:https://www.cnblogs.com/plateFace/p/4675110.html
Copyright © 2011-2022 走看看