如何在C#中完全关闭运行程序?替代Python quit()的实现方案
C# 实现程序终止的方法
你要实现和Python中quit()同等的直接终止程序效果,有两种常用方案:
- 方案1(全场景通用):调用
Environment.Exit(0)
这个方法属于.NET基础类库,控制台、桌面应用都可以使用,参数0代表程序正常退出,非0值可用来表示异常退出状态。需要确保代码顶部引入了System命名空间,语法为using System;。 - 方案2(控制台入口方法专用):直接
return
因为Main方法是控制台程序的入口点,当Main方法执行完毕后程序会自动终止,所以如果退出逻辑写在Main方法内,直接return即可完成退出,不需要调用额外方法。
注意:你原Python代码用递归调用
Main实现菜单循环的逻辑不推荐在C#中复用,递归深度过高会触发栈溢出,建议改用循环实现菜单逻辑,修改后的完整示例代码如下:
using System; class Program { // 控制台程序的Main方法默认是静态的,返回值可以是void或者int static void Main() { while (true) { Console.WriteLine("-------------------------------------------"); Console.WriteLine("\n1.fight \n2.Shop \n3.Stats \n4.See coins \n5.music on \n6.music off \n7.quit \nInput:"); string choice = Console.ReadLine(); switch (choice) { case "1": BattleState(); break; case "2": Shop(); break; case "3": Console.WriteLine("-------------------------------------------"); Console.WriteLine($"health: {character.health}"); Console.WriteLine($"strength: {character.strength}"); Console.WriteLine($"armor: {character.armor}"); break; case "4": Console.WriteLine("-------------------------------------------"); Console.WriteLine($"you have: {character.coins} coins"); break; case "5": // 音乐开启逻辑可参考System.Media.SoundPlayer类实现 break; case "6": // 音乐关闭逻辑 break; case "7": // 两种退出方式二选一即可 // return; Environment.Exit(0); break; default: Console.WriteLine("i dont understand, please try again!"); break; } } } // 此处补充你自己实现的BattleState、Shop等方法和character类定义即可 }
内容的提问来源于stack exchange,提问作者Lore
相关产品推荐
相关产品推荐

