คำสั่งใน C # สำหรับออกจากแอปพลิเคชันคอนโซลคืออะไร
คำสั่งใน C # สำหรับออกจากแอปพลิเคชันคอนโซลคืออะไร
คำตอบ:
คุณสามารถใช้Environment.Exit(0);
และApplication.Exit
Environment.Exit(0)
สะอาดกว่า
Environment.Exit
ต้องการให้คุณมีสิทธิ์ SecurityPermissionFlag.UnmanagedCode ซึ่งอาจเป็นปัญหาสำหรับบางคน
หลายตัวเลือกตามลำดับวิธีที่เหมาะสมที่สุด:
System.Environment.Exit
( ไม่ใช่พกพา! ดูด้านล่าง )แก้ไขเมื่อวันที่ 9/2013 เพื่อปรับปรุงความสามารถในการอ่าน
การส่งคืนด้วยรหัสการออกเฉพาะ:เนื่องจาก Servy ชี้ให้เห็นในความคิดเห็นคุณสามารถประกาศหลักด้วยint
ประเภทการส่งคืนและส่งคืนรหัสข้อผิดพลาดในลักษณะนั้น ดังนั้นจึงไม่จำเป็นต้องใช้ Environment.Exit เว้นแต่คุณจะต้องยุติด้วยรหัสทางออกและไม่สามารถทำได้ในวิธีการหลัก ส่วนใหญ่คุณสามารถหลีกเลี่ยงปัญหานั้นได้โดยการส่งข้อยกเว้นและส่งคืนรหัสข้อผิดพลาดใน Main หากมีข้อยกเว้นที่ไม่สามารถจัดการได้เผยแพร่ที่นั่น หากแอปพลิเคชั่นเป็นแบบมัลติเธรดคุณอาจต้องใช้หม้อไอน้ำมากขึ้นเพื่อยกเลิกรหัสทางออกอย่างถูกต้องดังนั้นคุณอาจจะดีกว่าเพียงแค่เรียก Environment.Exit
ข้อดีอีกประการของการใช้งานEvironment.Exit
แม้ว่าจะเขียนแอพพลิเคชั่นแบบมัลติเธรดก็สามารถนำมาใช้ซ้ำได้ หากคุณต้องการใช้รหัสในสภาพแวดล้อมที่Environment.Exit
ไม่เกี่ยวข้อง (เช่นห้องสมุดที่อาจใช้ในเว็บเซิร์ฟเวอร์) รหัสนั้นจะไม่สามารถพกพาได้ ทางออกที่ดีที่สุดคือในความคิดของฉันที่จะใช้ข้อยกเว้นและ / หรือค่าตอบแทนที่แสดงว่าวิธีการถึงสถานะข้อผิดพลาด / เสร็จสิ้นบาง ด้วยวิธีนี้คุณสามารถใช้รหัสเดียวกันในสภาพแวดล้อม. NET และแอปพลิเคชันประเภทใดก็ได้ หากคุณกำลังเขียนแอพโดยเฉพาะที่ต้องการส่งคืนรหัสออกหรือเพื่อยุติในลักษณะที่คล้ายกับสิ่งที่Environment.Exit
ทำคุณสามารถไปข้างหน้าและตัดเธรดที่ระดับสูงสุดและจัดการข้อผิดพลาด / ข้อยกเว้นตามต้องการ
แอปพลิเคชั่นของคอนโซลจะออกเมื่อฟังก์ชั่นหลักทำงานเสร็จสิ้น "การคืน" จะบรรลุเป้าหมายนี้
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("I'm running!");
return; //This will exit the console application's running thread
}
}
หากคุณส่งคืนรหัสข้อผิดพลาดคุณสามารถทำได้ด้วยวิธีนี้ซึ่งสามารถเข้าถึงได้จากฟังก์ชั่นภายนอกเธรดเริ่มต้น:
System.Environment.Exit(-1);
คุณสามารถใช้และEnvironment.Exit(0)
Application.Exit
Environment.Exit()
: ยุติกระบวนการนี้และให้รหัสทางออกที่ระบุแก่ระบบปฏิบัติการ