C#如何实现用户按下特定按键时运行指定代码
问题解答
所需using指令
仅需在代码文件顶部添加一行即可:
using System;
所有控制台输入输出相关的接口都属于System命名空间,不需要额外引入其他库。
按键触发可行性
按特定按键执行业务逻辑的需求完全可以实现,你原有代码无法运行有两个核心问题:
Water()方法、money字段是实例成员,无法直接在静态的Main方法中调用- 缺少按键读取、判断的具体实现
修正后可运行代码
using System; internal class Program { static int money = 10; public static void Water() { Console.WriteLine("You spent $5 on water"); money -= 5; Console.WriteLine($"当前剩余金额:${money}"); } static void Main(string[] args) { Console.WriteLine("To buy water press the w key"); // 读取用户按键,参数传入true表示不在控制台显示输入的按键字符 ConsoleKeyInfo input = Console.ReadKey(true); // 判断是否按下W键,自动兼容大小写输入 if (input.Key == ConsoleKey.W) { Water(); } Console.WriteLine("按任意键关闭程序"); Console.ReadKey(); } }
关键逻辑说明
- 将
money字段、Water()方法修改为静态成员,解决静态方法调用实例成员的编译错误 - 调用
Console.ReadKey()获取用户按键输入,通过返回值的Key属性和枚举ConsoleKey.W对比判断,不需要额外处理大小写,用户按大写W、小写w都能正常触发逻辑 - 如果需要实现持续监听按键、多次购水的效果,可以在Main方法里加循环包裹按键判断逻辑即可
内容的提问来源于stack exchange,提问作者will
相关产品推荐
相关产品推荐

