使用標誌迭代枚舉的值
問題:
當使用支持標誌的枚舉,如何專門迭代設定在一個特定的變數?是否可以避免使用 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中文網其他相關文章!