我需要检查一个字符是否是VB.NET中的有效密钥(类型)(例如,我需要将“K”变成Keys.K)。我目前正在做这个转换它:
Keys.Parse(GetType(Keys), key, False)
但是,如果 key 无效,则会抛出异常。如何检查键是否为有效字符?
答案 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(不抛出)。