You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 06:03:19