为什么C#跳过一个声明?

时间:2014-04-20 22:00:48

标签: c# visual-studio-2010 while-loop switch-statement console-application

使用MS Visual Studio 2010,该程序基于C#控制台应用程序。

我的while循环中包含sInput = Console.ReadLine();,然后是switch

当我运行代码时,sInput循环首次出现时会跳过while(这会自动提供default的{​​{1}}值。

但它可以在switch循环的第二次出现时正常工作。

为什么它会在第一次出现时跳过While

sInput

编辑:添加了我的所有代码,以确定问题是否源自while循环之外的先前代码。

1 个答案:

答案 0 :(得分:1)

我的猜测是输入缓冲区不为空且包含换行符。可能是您提供的代码在某些其他数据输入发生的情况下被取消了吗?

尝试在跳过行之前添加以下代码:

while (Console.KeyAvailable)
    Console.ReadKey(true);