如何检查某个字符是否为 VB.NET 中的有效键?

发布于 2024-09-11 01:15:32 字数 198 浏览 1 评论 0原文

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

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

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

I need to check if a character is a valid Key (type) in VB.NET (I need to turn "K" into Keys.K, for example). I am currently doing this to convert it:

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

However, if key is not valid it throws an exception. How can I check if key is a valid character?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紫瑟鸿黎 2024-09-18 01:15:33

枚举没有 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

Enums do not have a TryParse method, therefore, you could do something like this:

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

Use it like this:

Dim k As Keys = IsValidKey("K")
If k <> Keys.None Then
  ' valid key
else
  ' invalid key
End If
与之呼应 2024-09-18 01:15:33

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

You should use Keys.TryParse (Available in .Net 4.0). It will return true if key is a valid key, false otherwise (Doesn't throw).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文