zoukankan      html  css  js  c++  java
  • yield关键字

    这个关键字在开发过程当中不长用到

    说yield之前要先说一下IEnumerable 接口

    IEnumerable 接口 :

    公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。

    简单的迭代就是指foreach循环了

    yield关键字:

    在迭代器块中用于向枚举数对象提供值或发出迭代结束信号

    枚举数对象就好比foreach(object o in objectList)中的o

    在下面的示例中,迭代器块(这里是方法 Power(int number, int power))中使用了 yield 语句。当调用 Power 方法时,它返回一个包含数字幂的可枚举对象。注意 Power 方法的返回类型是 IEnumerable(一种迭代器接口类型)。

    // yield-example.cs
    using System;
    using System.Collections;
    public class List
    {
        
    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);
            }
        }
    }

    得到的结果是:

    2 4 8 16 32 64 128 256 

    yield就好像一个方法调用计数器,针对计数值的不同,返回不同的结果。当最后一种yield流程结束时,就相当于计数器归零。

  • 相关阅读:
    Bootstrap 插件收集
    target和currentTarget
    微信小程序
    flex
    vue中使用icon和打包
    rem的使用
    vue中使用sass和compass
    vue父子组件传递参数
    weex
    常用软件&&网址
  • 原文地址:https://www.cnblogs.com/liulun/p/1455697.html
Copyright © 2011-2022 走看看