在 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>()
即可。