c# - 如何判断一个key是字母还是数字?

标签 c# xna xna-4.0 key

KeyboardState.GetPressedKeys()返回当前按下的键的 Key 数组。通常要找出一个键是字母还是数字我会使用 Char.IsLetterOrDigit(char)但给定类型属于 Keys 枚举,因此没有 KeyChar 属性。

转换也不起作用,因为例如 Keys.F5 之类的键在转换为字符时会变成字母 t。在这种情况下,F5 将被视为字母或数字,但显然不是。

那么,假设转换为字符会产生不可预测的结果,那么如何确定给定的 Keys 枚举值是字母还是数字?

最佳答案

public static bool IsKeyAChar(Keys key)
{
    return key >= Keys.A && key <= Keys.Z;
}

public static bool IsKeyADigit(Keys key)
{
    return (key >= Keys.D0 && key <= Keys.D9) || (key >= Keys.NumPad0 && key <= Keys.NumPad9);
}

关于c# - 如何判断一个key是字母还是数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9456089/

相关文章:

c# - 如何编写基于网络浏览器的多人游戏?

c# - XNA 4.0 SpriteBatch.Draw 抛出内存不足异常

c# - Linq 对列表使用 Aggregate()

带前导零的 C# BitArray

c# - 跳跃比。重力

c# - 用gameTime移动 Sprite ,为什么要用+=?

visual-studio-2010 - XNA Mono 触摸游戏 - 触摸不起作用

c# - xna 在 1.3GB 上触发 OutOfMemoryException

c# - 使用 WiX DTF 获取组件代码

c# - 将RSA加密Java代码移植到C#