2017-03-08 85 views
2

当用户输入3时,我希望程序退出,但控制台表示按任意键继续,然后在用户按任意键后退出。这是我对案例3的看法。整个switch语句也包含在do while语句中。当应用程序退出时,控制台应用程序显示'按任意键继续'

 do { 
       . 
       . 
       . 
        case 3:      
         Environment.Exit(0); 
         break; 

      } while (!isValid); 
+0

'Application.Exit()'? –

+0

试图说“名称'应用程序'不存在于当前上下文中' – Jacob

+0

并导入命名空间? –

回答

7

当你用ctrl + f5启动应用程序(启动时没有调试)时,消息来自visual studio。所以,应用程序确实终止。只有视觉工作室要求您按下按键,以便您有机会看到您的控制台输出。

从Visual Studio外部运行应用程序时,不会显示消息。在使用f5启动调试版本时,它也不会出现(调试控制台应用程序时,控制台输出在visual studio输出日志中可见,因此在应用程序终止后不需要保持控制台窗口打开状态)。

+0

哦,哇,我觉得这么愚蠢啊哈。感谢您为我解决困惑。 – Jacob

0

您应该创建一个返回bool并使用它的方法,您可以从循环中退出。

bool bTry=true; 
    While(bTry) 
    { 
    ..Your.. 
    ..Other.. 
    ..Code.. 
    .. 
    bTry=CanCountinue(); 
    } 
    /// <summary> 
    /// Used to continue 
    /// </summary> 
    /// <returns>True if user want to continue 
    /// False if user want to exit</returns> 
    public bool CanCountinue() 
    { 
     Console.WriteLine("Enter Y to continue..."); 
     String sAnother = Console.ReadLine(); 
     return String.Compare(sAnother, "Y", true) ==0; 
    } 
相关问题