How to get the int for enum value in Enumeration
本问题已经有最佳答案,请猛点这里访问。
如果我有值:"dog"和枚举:
1 2 3 4 5 6 | public enum Animals { dog = 0 , cat = 1 , rat = 2 } |
我怎么能从动物身上得到"狗"这个值的0呢?
编辑:
我想知道是否有类似索引的科目。更常见的是:如何获得字符串值的整数。
只需将枚举值强制转换为整数:
1 2 | Animals animal = Animals.dog; int value = (int)animal; // 0 |
编辑:如果发现您具有枚举值的名称,则分析枚举值并将其强制转换为整数:
1 |
要回答您的问题"如何获得字符串值的整数":
要将字符串转换为枚举,然后将结果枚举转换为int,可以执行以下操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public enum Animals { dog = 0, cat = 1, rat = 2 } ... Animals answer; if (Enum.TryParse("CAT", true, out answer)) { int value = (int) answer; Console.WriteLine(value); } |
顺便说一下,通常的枚举命名约定规定,除非枚举名称表示可以设置多个位的标志值(2的幂),否则不应将其复数,因此应将其称为
您可以将其强制转换为int,或者使用enum.getValues方法迭代所有值,该方法检索指定枚举中常量的值数组。
怎么办: