数组

foreach循环

预计阅读时间1 分 4 views

前言

C# 提供了一种比 for 循环更简洁、可读性更强的替代方案——foreach 循环,尤其适用于数组和集合的迭代操作。foreach 循环的核心理念是“遍历每个元素”,因此得名。在进入 foreach 循环的学习之前,建议先了解以下内容:

  • C# for 循环
  • C# 数组
  • C# 集合

作用

foreach 循环的作用是简化对数组或集合中每个元素的访问。它通过使用 in 关键字,在每次迭代时从可迭代项中选择一个元素,并将其存储在指定的变量中。循环将会自动遍历整个集合或数组,直到所有元素都被访问完毕。与 for 循环相比,foreach 不需要显式管理索引,因此代码结构更为简洁。

使用场景

foreach 循环通常用于:

  1. 数组遍历:逐一访问数组中的元素,尤其当你不需要关心元素的索引时。
  2. 集合遍历:可以方便地遍历 ListDictionary 等集合类型,轻松处理每个元素。
  3. 数据统计:通过遍历数据集合进行某种统计处理,如计算总和、计数等。

示例

示例 1:使用 foreach 遍历数组

下面的例子展示了如何通过 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 循环自动遍历数组 myArray 中的每个字符,并将其存储在变量 ch 中,然后在每次循环中打印出来。

示例 2:使用 foreach 统计性别

此程序遍历一个包含性别字符的数组,统计男性和女性的数量:

using System;

namespace Loop
{
    class ForEachLoop
    {
        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

在该程序中,foreach 循环依次遍历数组 gender 中的每个字符,根据字符值判断是男性还是女性,并进行计数。

示例 3:使用 foreach 遍历集合

foreach 不仅限于数组,还可以用于集合。下面的示例通过 foreach 循环计算 List 中所有整数的和:

using System;
using System.Collections.Generic;

namespace Loop
{
    class ForEachLoop
    {
        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);
        }
    }
}

输出

Sum = 44

在这里,foreach 用于遍历 List 集合中的每个整数,并在每次迭代时将元素值累加到 sum 中。

结语

通过上述示例,我们可以看到 foreach 循环提供了一种简洁、易读且强大的方式来处理数组和集合。与传统的 for 循环相比,foreach 的优势在于它不需要管理索引,极大地减少了代码的复杂度,因此在遍历数组和集合时更为推荐。

Leave a Comment

分享此文档

foreach循环

或复制链接

内容