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

C#新手求助:Console.WriteLine语句输出异常问题

控制台输出异常的原因及修复

问题出在Console.ReadKey()上——这个方法默认会把你按下的按键(比如你按的空格)直接显示在控制台里,导致Roll 1: X的输出前面多了一个空格,看起来像是输出错位,并不是Console.WriteLine("Roll 1: " + roll01)本身失效。

修复方法很简单,给Console.ReadKey()加个true参数,让它不回显你按下的按键:

Console.ReadKey(true);

修改后的完整代码:

Random numberGen = new Random(); 

int roll01 = 0;
int roll02 = 1;
int attempts = 0;

Console.WriteLine("Press spacebar to roll the dice.");
         
while(roll01 != roll02) 
{
    Console.ReadKey(true); // 不回显按下的按键
            
    roll01 = numberGen.Next(1, 7);  
    roll02 = numberGen.Next(1, 7);
            
    Console.WriteLine("Roll 1: " + roll01);
    Console.WriteLine("Roll 2: " + roll02 + "\n");                
    attempts++;
}

至于你觉得Roll 2的输出正常,是因为它后面多了一个\n换行,刚好把干扰的视觉效果掩盖了,但实际上Roll 1的输出逻辑是完全没问题的,只是被按键回显的字符打乱了显示而已。

内容的提问来源于stack exchange,提问作者YuriXD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 02:37:09