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);
            }
  • 相关阅读:
    清北学堂 清北-Day1-R1-Count
    清北学堂 清北-Day1-R2-监听monitor
    LuoGu P2420 让我们异或吧
    Milk(sort+结构体)
    开门人和关门人(结构体+sort)
    python-神奇的下划线
    python-pathlib
    python-文本字符串
    python-闭包
    进制-Iterative-进制转换
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1706357.html
Copyright © 2011-2022 走看看