C#中yield return的思想

C#中为什么引入yield return? 我想是为了使for each更容易使用.yield return的思想也就是foreach的思想:为了使遍历的语义更加自然,接近人类思想。

C#编译器在背后为我们作了大量的工作,以便我们代码的可读性更好!请看下面代码:

 

using System;
using System.Text;
using System.Collections;

namespace yieldReturn
{
    
public class List
    {
        
//using System.Collections;
        public static IEnumerable Power(int number, int exponent)
        {
            
int counter = 0;
            
int result = 1;
            
while (counter++ < exponent)
            {
                result 
= result * number;
                
yield return result;
            }
        }

        
static void Main()
        {
             
//Display powers of 2 up to the exponent 8:
            foreach (int i in Power(28))
            {
                Console.Write(
"{0} ", i);
            }
            Console.Read();
        }
    }

}

有了yield return,可以方便地为我们提供foreach下一个要访问的元素!

 

转载于:https://www.cnblogs.com/hjblog/archive/2011/08/25/2153091.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值