9.IEnumerable可枚举接口 C#例子 WPF例子

cs 复制代码
        private async void Button_Click(object sender, RoutedEventArgs e)
        {

            // 调用时可以传入 List、Array、HashSet 等任何实现了 IEnumerable<string> 的集合
            List<string> myList = new List<string> { "A", "B" };
            ProcessItems(myList);

            string[] myArray = { "X", "Y" };
            ProcessItems(myArray);

        }

        public void ProcessItems(IEnumerable<string> items)
        {
            foreach (string item in items)
            {
                this.WriteLine(item);
            }
        }

代码介绍

这段代码展示了一个简单的事件处理程序和一个通用方法,用于处理实现了 IEnumerable<string> 接口的集合。

Button_Click 方法
  • 触发条件 :当按钮被点击时,Button_Click 方法会被触发。

  • 功能

    1. 创建一个 List<string> 集合 myList,并初始化为包含两个字符串 "A""B"

    2. 调用 ProcessItems 方法,传入 myList

    3. 创建一个字符串数组 myArray,并初始化为包含两个字符串 "X""Y"

    4. 再次调用 ProcessItems 方法,传入 myArray

ProcessItems 方法
  • 参数items 是一个实现了 IEnumerable<string> 接口的集合,可以是 List<string>string[] 或其他任何实现了该接口的集合类型。

  • 功能

    • 使用 foreach 循环遍历传入的集合 items

    • 对于集合中的每个字符串 item,调用 this.WriteLine(item) 方法将其输出。

特点
  • 通用性ProcessItems 方法可以处理任何实现了 IEnumerable<string> 接口的集合(如 List<string>string[]),展示了泛型接口的强大功能

这段代码演示了如何使用 IEnumerable<string> 接口来处理不同类型的数据集合,体现了泛型接口在提高代码复用性和灵活性方面的优势。

相关推荐
纸带13 分钟前
如何理解USB 配置描述符wTotalLength位运算深度
linux·网络·windows
love530love18 分钟前
Win11+RTX3090 亲测 · ComfyUI Hunyuan3D 全程实录 ③:diso 源码编译实战(CUDA 13.1 零降级)
开发语言·人工智能·windows·python·comfyui·hunyuan3d·diso
l1t27 分钟前
利用docker在windows 11 wsl中安装oracle 12cR2
运维·windows·docker·oracle·容器
kylezhao201930 分钟前
C#变量 + 工业常用数据类型:重点 byte/int/float
开发语言·c#·c#上位机
bugcome_com43 分钟前
C# 中 Overload(重载)与 Override(重写)的核心区别与实战解析
开发语言·c#
渡我白衣2 小时前
导论:什么是机器学习?——破除迷思,建立全景地图
人工智能·深度学习·神经网络·目标检测·microsoft·机器学习·自然语言处理
JAVA+C语言2 小时前
C#——接口
开发语言·c#
许泽宇的技术分享2 小时前
AgentFramework:错误处理策略
开发语言·c#
kylezhao20192 小时前
C#23种设计模式-单例模式(Singleton)详解与应用
单例模式·设计模式·c#
wanghowie2 小时前
01.04 Java基础篇|泛型、注解与反射实战
java·开发语言·windows