//yield return用于无缝实现迭代模式。

本文详细介绍了C#中yield return关键字的使用方法,通过一个具体示例展示了如何利用yield return实现字符串数组的正序和反序迭代。同时,文章还演示了如何在一个枚举对象中实现多次迭代,提供了代码实现和运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ExpandedBlockStart.gif代码
 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);
        }

 

转载于:https://www.cnblogs.com/hubcarl/archive/2010/04/07/1706357.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值