使用标志迭代枚举的值
问题:
当使用支持标志的枚举,如何专门迭代设置在一个特定的变量?是否可以避免使用 Enum.GetValues 迭代整个枚举?
答案:
是的,可以迭代枚举变量中的各个标志值无需枚举整个枚举并检查值是否已设置。这可以使用以下代码片段来实现:
static IEnumerable<Enum> GetFlags(Enum input) { foreach (Enum value in Enum.GetValues(input.GetType())) if (input.HasFlag(value)) yield return value; }
解释:
通过使用此方法,您可以有效地迭代枚举的各个标志值变量。
以上是如何仅迭代 C# 枚举中的设置标志?的详细内容。更多信息请关注PHP中文网其他相关文章!