zoukankan      html  css  js  c++  java
  • C#中YieldReturn的用法

    Yield Return 和 Yield Break 的出现是为了简化迭代器。

    类如果能被遍历则必须有IEnumerator<string> GetEnumerator() 方法, 并有用Yield Return

    方法如果能被遍历则返回类型为 IEnumerable<string>,并有用Yield Return

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace TestYield
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                foreach (string v in new Animal())
                {
                    Console.WriteLine(v);
                }
    
    
                foreach (string v in getList())
                {
                    Console.WriteLine(v);
                }
                Console.ReadLine();
            }
    
    
            static IEnumerable<string> getList()
            {
                yield return "cccc";
                yield return "dddd";
            }
          
        }
    
    
        public class Animal {
           //类迭代必须要有的方法,使用Yield简化了迭代的实现
          public IEnumerator<string> GetEnumerator()
            {
                yield return "aaaaa";
                yield return "bbbbb";
            }
    
        }
    }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace TestYield
    {
        class Program
        {
            static void Main(string[] args)
            {

                foreach (string v in new Animal())
                {
                    Console.WriteLine(v);
                }


                foreach (string v in getList())
                {
                    Console.WriteLine(v);
                }
                Console.ReadLine();
            }


            static IEnumerable<string> getList()
            {
                yield return "cccc";
                yield return "dddd";
            }
          
        }


        public class Animal {

          public IEnumerator<string> GetEnumerator()
            {
                yield return "aaaaa";
                yield return "bbbbb";
            }

        }
    }

  • 相关阅读:
    Java在linux环境下和windows环境下日期字符串显示不同
    PPT制作手机手指滑动效果
    linux segmentation fault记录
    Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel
    chrome保存网页为单个文件(mht格式)
    解决liblzo2.so缺失
    What is uClinux?
    linux(CentOS5.8)环境下搭建Radius
    去除快捷方式小箭头
    【转载】ssh(安全外壳协议)
  • 原文地址:https://www.cnblogs.com/tiancai/p/6482942.html
Copyright © 2011-2022 走看看