📅  最后修改于: 2023-12-03 15:09:52.312000             🧑  作者: Mango
在 C# 中,枚举(Enum)是一种常量整数值的类型,它们有助于使代码更易于理解和维护。有时我们需要循环遍历一个枚举中的所有值,以便做一些操作。本文将介绍如何在 C# 中循环遍历枚举中的所有值。
假设我们有一个名为 Colors
的枚举类型,它包含了红、绿、蓝三种颜色:
enum Colors
{
Red,
Green,
Blue
}
我们可以使用 System.Enum
类的 GetValues
方法来获取枚举中的所有值,然后使用 foreach
循环遍历它们:
foreach (Colors color in Enum.GetValues(typeof(Colors)))
{
Console.WriteLine(color);
}
这将输出:
Red
Green
Blue
我们也可以使用 Array
类的 ForEach
方法进行遍历:
Array.ForEach(Enum.GetValues(typeof(Colors)), color => Console.WriteLine(color));
如果我们需要得到枚举元素的名称和值,可以使用 System.Enum
类的静态方法 GetName
和 GetValue
,例如:
foreach (Colors color in Enum.GetValues(typeof(Colors)))
{
Console.WriteLine($"{color}: {(int)color}");
}
这将输出:
Red: 0
Green: 1
Blue: 2
如果我们需要对枚举元素进行过滤,只选择符合条件的元素进行操作,可以使用 System.Linq
命名空间中的扩展方法 Where
进行过滤,例如:
foreach (Colors color in Enum.GetValues(typeof(Colors)).Cast<Colors>().Where(c => c != Colors.Blue))
{
Console.WriteLine(color);
}
这将输出:
Red
Green
我们可以使用 Enum.GetValues
方法遍历 C# 中的所有枚举值,并使用 GetName
和 GetValue
方法得到枚举元素的名称和值。我们还可以使用 Where
方法对枚举元素进行过滤,以便只对符合条件的元素进行操作。