zoukankan      html  css  js  c++  java
  • //yield return用于无缝实现迭代模式。

    代码
     public class YieldReturn
        {
            
    //yield return用于无缝实现迭代模式。
       
            
    string[] strArr;
            
    public YieldReturn(params string[] arr)
            {
                strArr 
    = new string[arr.Length];
                arr.CopyTo(strArr, 
    0);
                
            }
            
           
            
    //-------一个枚举对象可以对应多个枚举
            /// <summary>
            
    /// 反序输出
            
    /// </summary>
            public IEnumerable<string> Reverse
            {
                
    get
                {
                    
    for (int i = strArr.Length - 1; i >= 0; i--)
                        
    yield return strArr[i];
                }
            }
            
    /// <summary>
            
    /// 顺序输出
            
    /// </summary>
            public IEnumerable<string> PosEven
            {
                
    get
                {
                    
    for (int i=0;i<strArr.Length; i++)
                        
    yield return strArr[i];
                }
            }
            
    public IEnumerable<string> Concat
            {
                
    get
                {
                    
    foreach (string s in Reverse)
                        
    yield return s;
                    
    foreach (string s in PosEven)
                        
    yield return s;
                }
            }
            
        }
     实现:
          
    public static void yieldreturn()
            {
                YieldReturn yr 
    = new YieldReturn("aaa""bbb""ccc");
                Console.WriteLine(
    "-----Reverse:");
                
    foreach (string s in yr.Reverse)
                    Console .WriteLine (s);
                Console.WriteLine(
    "-----PosEven:");
                
    foreach (string s in yr.PosEven)
                    Console.WriteLine(s);
                Console.WriteLine(
    "-----Concat:");
                
    foreach (string s in yr.Concat)
                    Console.WriteLine(s);
            }
  • 相关阅读:
    Windows服务的快速搭建与调试(C#图解)
    HttpWebRequest采集读取网站挂载Cookie的通用方法
    javascript数字格式化通用类——accounting.js使用
    entity framework框架生成摘要文档为空(没有元数据文档可用)的bug解决方案
    Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID,反之也行!
    常用Sql整理笔记
    字符串循环移位
    C++ STL体系结构、 编程方法及存在的问题
    二维数组的分配以及数组指针数组
    C++构造函数详解及显式调用构造函数
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1706357.html
Copyright © 2011-2022 走看看