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”)。

  • 相关阅读:
    【HDU】2461 Rectangles
    【POJ】2409 Let it Bead
    【HDU】3208 Integer’s Power
    【HDU】1812 Count the Tetris
    【POJ】2888 Magic Bracelet
    【HDU】2865 Birthday Toy
    黑白色的华为(6) 不是银弹的银弹
    黑白色的华为(10) 不是答案的答案
    ubuntu上升级cmake到3.16版本
    黑白色的华为(8) 从加法到减法
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3485446.html
Copyright © 2011-2022 走看看