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);
            }
  • 相关阅读:
    关于数据库 长度和小数点的关系和坑
    温故而知新,jquery选择器$=
    局域网访问本地localhost页面
    解决谷歌浏览器和360浏览器 input 自动填充淡黄色背景色的问题
    抢月饼 浏览器插件开发
    css 多行溢出
    ss服务待研究
    NUnit笔记
    5分钟实现VS2010整合NUnit进行单元测试
    vs2010中使用Nunit测试c#代码结果的正确性
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1706357.html
Copyright © 2011-2022 走看看