【问题标题】:How to get the integer value of an enum如何获取枚举的整数值
【发布时间】:2014-08-15 06:38:20
【问题描述】:

我有一个这样的枚举:

Enum Cards
   club = 1
   spade = 2
   hearts = 3
   diamond = 4
End Enum

现在,我想做的是每当我输入字符串“club”或来自枚举的任何内容时,我都可以获得它的整数值。

谢谢:)

【问题讨论】:

标签: vb.net enums


【解决方案1】:

试试这段代码。

 Foo = CType(System.Enum.Parse(GetType(Cards), "club"), Cards)

【讨论】:

  • 它有一个错误说这个“提供的类型必须是枚举”
  • 好的,错误是我的错。我修复了它,代码就像魅力一样工作。谢谢
【解决方案2】:

我会使用 TryParse,如下所示。返回的值是枚举类型,但类型是整数,可以这样使用。

Enum Cards
    club = 1
    spade = 2
    hearts = 3
    diamond = 4
End Enum

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim enumVlaue As Cards
    If Not [Enum].TryParse("spade", enumVlaue) Then
        'did not convert
        Stop
    End If

    Dim foo As Integer = enumVlaue + 42
End Sub

【讨论】:

    【解决方案3】:

    如果是整数值,试试:

    enumVariable * 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      相关资源
      最近更新 更多