亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# foreach 循环:轻松遍历数组与集合

C# foreach 循环

了解 foreach 循环如何简化 C# 中数组和集合的遍历,提升代码可读性与性能。

在 C# 中,foreach 循环为处理数组、列表及其他集合提供了比传统 for 循环更简洁、更具表达力的替代方案。它自动处理索引,使代码更易读、更不易出错。

开始前,请复习基础主题:


foreach 循环语法

foreach (element in iterableItem) {
    // foreach 循环体
}

iterableItem 可以是数组、列表或任何实现 IEnumerable 的类型。


foreach 循环工作原理

C# foreach 循环:轻松遍历数组与集合

in 关键字每次迭代从 iterableItem 选取一个项目并赋值给变量 element。循环每个元素执行一次,迭代次数等于集合元素数量。


示例 1:用 for 循环打印数组

using System;
namespace Loop {
    class ForLoop {
        public static void Main(string[] args) {
            char[] myArray = {'H','e','l','l','o'};
            for (int i = 0; i < myArray.Length; i++) {
                Console.WriteLine(myArray[i]);
            }
        }
    }
}

示例 2:用 foreach 循环打印数组

using System;
namespace Loop {
    class ForEachLoop {
        public static void Main(string[] args) {
            char[] myArray = {'H','e','l','l','o'};
            foreach (char ch in myArray) {
                Console.WriteLine(ch);
            }
        }
    }
}

两个程序均输出:

H e l l o

foreach 版本更短,消除索引计算,减少越界错误风险。


示例 3:统计性别数组中的男女性别数量

此例统计数组中 'm' 和 'f' 的出现次数。

using System;
namespace Loop {
    class GenderCount {
        public static void Main(string[] args) {
            char[] gender = {'m','f','m','m','m','f','f','m','m','f'};
            int male = 0, female = 0;
            foreach (char g in gender) {
                if (g == 'm') male++;
                else if (g == 'f') female++;
            }
            Console.WriteLine("Number of male = {0}", male);
            Console.WriteLine("Number of female = {0}", female);
        }
    }
}

输出:

Number of male = 6
Number of female = 4

示例 4:用 foreach 求 List 总和

使用 List<int> 演示 foreach 与泛型集合的无缝配合。

using System;
using System.Collections.Generic;
namespace Loop {
    class SumList {
        public static void Main(string[] args) {
            var numbers = new List<int>() { 5, -8, 3, 14, 9, 17, 0, 4 };
            int sum = 0;
            foreach (int number in numbers) {
                sum += number;
            }
            Console.WriteLine("Sum = {0}", sum);
            Console.ReadLine();
        }
    }
}

结果:

Sum = 44

无论数组还是集合,foreach 都能提供更清洁、可维护的代码。仅需读取元素、无需直接索引操作时,优先选择它。

C语言

  1. 掌握 C# while 与 do-while 循环:语法、示例与最佳实践
  2. 掌握 C# for 循环:语法、执行流程与实战示例
  3. 掌握 C++ for 循环:语法、流程图、范围循环与实战模式
  4. C++ while 与 do-while 循环:重复控制流完全掌握
  5. C 语言 for 循环完全指南:语法、机制与实战示例
  6. C 语言 while 与 do-while 循环实战指南
  7. C++ do-while 循环详解:语法、实战示例与嵌套循环
  8. 精通Python For循环:语法、示例与进阶模式
  9. 精通Python While循环:语法、示例与最佳实践
  10. 精通Python循环控制:break 与 continue
  11. 精通 Java for 循环:语法、示例与最佳实践
  12. 精通 Java 增强 for 循环:语法、示例与最佳实践