C# 如何遍历枚举类型

在 C# 中遍历枚举(enumeration)类型可以通过几种不同的方式来实现。下面我将向您展示其中的一种常用方法:使用 foreach 循环结合 Enum.GetValues 方法。

首先,我们需要定义一个枚举类型作为示例:

 

Csharp

深色版本

1public enum MyEnum
2{
3    Value1,
4    Value2,
5    Value3
6}

接下来,我们可以编写一个方法来遍历这个枚举并打印出每个成员的名称和值:

 

Csharp

深色版本

1using System;
2
3public class Program
4{
5    public static void Main()
6    {
7        PrintEnumValues<MyEnum>();
8    }
9
10    public static void PrintEnumValues<TEnum>() where TEnum : Enum
11    {
12        // 获取枚举类型
13        Type enumType = typeof(TEnum);
14
15        // 获取该类型的值数组
16        Array values = Enum.GetValues(enumType);
17
18        // 遍历数组中的每个值
19        foreach (TEnum value in values)
20        {
21            // 打印枚举成员的名字和实际的值
22            Console.WriteLine($"Name: {value.ToString()}, Value: {(int)value}");
23        }
24    }
25}

这段代码中:

  • 我们定义了一个泛型方法 PrintEnumValues<TEnum>,其中 TEnum 必须是一个枚举类型。
  • 使用 Enum.GetValues 获取所有枚举值的数组。
  • 通过 foreach 循环遍历这些值,并且通过 ToString() 方法获取枚举成员的名称。
  • 由于枚举成员默认是整数类型,我们将其转换为 (int)value 来显示实际的整数值。

也可以参考如下类似的实现:

       
        foreach(var carType in Enum.GetValues(typeof(RobertTypeEnum)))
        {
            TreeNode groupNode = new TreeNode(carType.ToString());
            groupNode.Tag = carType;
            robertNodeRoot.Nodes.Add(groupNode);
        }

这种方法可以方便地应用于任何枚举类型,并且不需要修改任何代码。只需调用 PrintEnumValues<YourEnumType>() 即可。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值