星空网 > 软件开发 > ASP.net

yield关键字的使用

yield的中文是什么意思呢?

在金山词霸上面的翻译是:

vt.   

vi.  

n.   

个人觉得比较符合yield关键字在C#中的意思是退让,退位,让权。

yield关键字主要是在yield迭代器块中使用,使用yield的时候,C#编译器会创建一个状态机来保存当前我们迭代器块中的状态,返回当前需要返回的一个变量,然后暂时退出当前迭代器块。之后当下次需要调用迭代器块的时候,编译器会根据之前保存的状态然后进行你所定义的操作之后返回变量。

下面是一个例子:

创建一个IEnumerableExample类,实现IEnumerable接口,并在GetEnumerator方法中使用yield关键字进行返回变量。

public class IEnumerableExample:IEnumerable    {      private object[] values;      public IEmuerableExample(object[] values)      {        this.values = values;             }      public IEnumerator GetEnumerator()      {        for(int i=0;i<values.Length;i++)        {          yield return values[i];        }      }    }

 

主函数:

 static void Main(string[] args)    {      object[] values={'a','b','c','d'};      IEmuerableExample ie = new IEmuerableExample(values);      foreach (var item in ie)      {        Console.WriteLine(item);      }      Console.ReadKey();    }

 

输出为:

yield关键字的使用

这就是本人对于yield关键字的愚见,如有错误,请多多指正,谢谢。




原标题:yield关键字的使用

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流