回答

收藏

如何enumerate an enum

技术问答 技术问答 427 人阅读 | 0 人回复 | 2023-09-11

如何enum在 C# 中枚举一个?
8 d2 i) ~3 V, _7 N- o例如,不能编译以下代码:
3 P( X/ `  I- q# G5 v$ v& L& M7 T1 Z

    1 n  M7 ^7 Z7 D0 @6 _
  • public enum Suit{    Spades,   Hearts,   Clubs,   Diamonds}public void EnumerateAllSuitsDemoMethod(){     foreach (Suit suit in Suit)                                                                                                                                                                                                                 DoSomething(suit);  code]它给出了以下编译错误:
    - B7 R, c% c, ?4 v! D! ~
  • “Sui类型是一种类型variable”一样使用
    - n' X% b9 ?; A$ u! E
  • 它在Suit关键字失败,第二个。
    6 A, r9 B" R+ |3 y8 c" P, b
  •                                                                & ]6 T9 Q) \* l/ i9 n/ c% X% v+ W
  •     解决方案:                                                                                                                               [code]foreach (Suit suit in (Suit[]) Enum.GetValues(typeof(Suit))){}
    6 ^) x/ p7 K* ~$ t; C" x
注意:强制转换(Suit[])不是绝对必要的,但它确实让代码快了 0.5 ns。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则