在C#中遍历枚举最常用方式是Enum.GetValues,返回Array类型,需显式转换为具体枚举类型或使用C# 7.3+泛型重载;配合GetNames可获取名称与值;Flags枚举需手动位运算生成组合值。

在 C# 中遍历枚举最常用、最直接的方式就是用 Enum.GetValues,它返回一个包含所有枚举值的数组,类型为 Array,你可以用 foreach 或 for 遍历。
使用 Enum.GetValues + foreach 遍历(推荐)
这是最简洁清晰的做法,适合大多数场景。注意要显式转换为具体的枚举类型,否则拿到的是 object。
foreach (var value in Enum.GetValues(typeof(DayOfWeek)))
{
DayOfWeek day = (DayOfWeek)value;
Console.WriteLine(day); // 输出:Sunday, Monday, ..., Saturday
}登录后复制
也可以用泛型方式(C# 7.3+ 支持)更安全:
foreach (DayOfWeek day in Enum.GetValues<DayOfWeek>())
{
Console.WriteLine($"{day} = {(int)day}");
}登录后复制
获取枚举名称和值(Name + Value)
如果既要显示文字名,又要获取底层整数值,可以结合 Enum.GetNames 和 Enum.GetValues,或用 Enum.GetName 动态查:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~