• 一个漂亮的迭代器


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

  • 相关阅读:
    Linux多线程Pthread学习小结
    TCP三次握手/四次挥手
    内存管理内幕
    Delphi 中分发设计时包
    一个小的算法问题解决
    写了一个验证数字范围的正则表达式
    用 XML 文件持久化和恢复图片信息
    string.Empty 和 "" 并不总是可以互换的
    博客园用的 FreeTextBox 有 bug
    乱花渐欲迷人眼。。。
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3485446.html
Copyright © 2020-2023  润新知