1
我需要检查一个字符是否是VB.NET中有效的键(类型)(例如,我需要将“K”变成Keys.K)。我目前这样做是为了把它转换:如何检查字符在VB.NET中是否有效?
Keys.Parse(GetType(Keys), key, False)
但是,如果关键无效它抛出一个异常。我如何检查密钥是否是一个有效的字符?
我需要检查一个字符是否是VB.NET中有效的键(类型)(例如,我需要将“K”变成Keys.K)。我目前这样做是为了把它转换:如何检查字符在VB.NET中是否有效?
Keys.Parse(GetType(Keys), key, False)
但是,如果关键无效它抛出一个异常。我如何检查密钥是否是一个有效的字符?
枚举没有的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
您应该使用Keys.TryParse(可在.Net 4.0中使用)。如果key是有效键,它将返回true,否则返回false(不抛出)。
完美,正是我一直在寻找。谢谢! – Steven 2010-07-23 00:46:16
@Steven - 很高兴我能帮上忙。如果您发现它有用,请高兴地回答这个问题。谢谢。 – 2010-07-23 00:49:28