如何检查字符是否是VB.NET中的有效密钥?

时间:2010-07-22 23:46:15

标签: vb.net types key

我需要检查一个字符是否是VB.NET中的有效密钥(类型)(例如,我需要将“K”变成Keys.K)。我目前正在做这个转换它:

Keys.Parse(GetType(Keys), key, False)

但是,如果 key 无效,则会抛出异常。如何检查是否为有效字符?

2 个答案:

答案 0 :(得分:2)

枚举没有TryParse方法,因此,您可以执行以下操作:

Public Function IsValidKey(ByVal key As String) As Keys

    If Not [Enum].IsDefined(GetType(Keys), key) Then
        Return Keys.None
    End If

    Return CType(Keys.Parse(GetType(Keys), key, False), Keys)

End Function

像这样使用:

Dim k As Keys = IsValidKey("K")
If k <> Keys.None Then
  ' valid key
else
  ' invalid key
End If

答案 1 :(得分:0)

您应该使用Keys.TryParse(在.Net 4.0中可用)。如果key是有效键,它将返回true,否则返回false(不抛出)。