zoukankan      html  css  js  c++  java
  • 一个漂亮的迭代器

    private IEnumerable<ChartDataItem> BatchCreateChartItems(double[] computedResult)
            {
                for (int i = 0; i < 4; i++)
                {
                    yield return new ChartDataItem()
                    {
                        Tag = i.ToString(),
                        Text = Dictionary.AlarmDictionary.AlarmCodeDescriptionDict[i.ToString()],
                        DValue = computedResult[i],
                        ItemBrush = (Brush)((IValueConverter)Application.Current.FindResource("GlobalAlarmStatusBrushConverter")).Convert( i, typeof(Brush), null, null)
                    };
                }
            }

    1、IEnumerable<ChartDataItem>:表示该方法返回一个枚举器

    2、yield return:表示以迭代的方式向“该方法”的调用端返回值(使用这种语法的前提条件是:“该方法”的返回值类型必须为“枚举器”,并且“该枚举器”支持在集合上进行简单迭代。

    3、new ChartDataItem(){。。。。。。},对象初始化器

    简要说明:

    IEnumerable<ChartDataItem>的“原型”就是IEnumerable<T>,说明如下:

    IEnumerable<T> :它是一个公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代    ;    T:类型参数,它表示要枚举的对象的类型(例如:IEnumerable<ChartDataItem>,它要枚举的对象类型就是“ChartDataItem”)。

  • 相关阅读:
    19.08.12 知识点的记录
    19.08.09 知识点的记录
    keil编译生成bin文件的方法
    python 虚拟环境virtualenv
    RT_Thread GD32F303 片上flash使用fal组件
    esp8266 deepsleep唤醒不工作打印
    5V 电源 适配器 空载耗电量 自身电量 消耗功率
    keil 更换jlink脚本版本
    ESP8266 NONOS SmartConfig配网(安信可公众号配网)
    windows安装esp开发环境
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3485446.html
Copyright © 2011-2022 走看看