2011-09-13 30 views
8

Điều này phải đơn giản. Tôi chỉ cần đơn giản là thoát khỏi chương trình lệnh C# của tôi - không có thứ gì lạ mắt.Cách ưa thích để thoát khỏi chương trình dòng lệnh là gì?

Tôi có nên sử dụng

Environment.Exit(); 

hoặc

this.Close(); 

hay cái gì khác?

+1

'this.Close' sẽ không hoạt động trong ứng dụng bảng điều khiển. –

Trả lời

11

Sử dụng return; trong phương thức Main của bạn.
Nếu bạn không ở trong phương thức chính khi bạn quyết định thoát khỏi chương trình, bạn cần phải trả về từ phương thức mà phương thức chính hiện đang thực hiện.

Ví dụ:

void Main(...) 
{ 
    DisplayAvailableCommands(); 
    ProcessCommands(); 
} 

void ProcessCommands() 
{ 
    while(true) 
    { 
     var command = ReadCommandFromConsole(); 
     switch(command) 
     { 
      case "help": 
       DisplayHelp(); 
       break; 
      case "exit": 
       return; 
     } 
    } 
} 

Đây không phải là thực sự là một ví dụ về thiết kế tổng thể tốt của một ứng dụng giao diện điều khiển, nhưng nó minh họa điểm.

+0

Tôi muốn gọi thoát từ bên ngoài phương thức Chính. – toop

+0

Vui lòng xem cập nhật –

+0

chấp nhận vì người trả lời đầu tiên và tôi đã kết thúc bằng cách sử dụng trả lại. – toop

14

vừa trở về từ phương thức Main.

Edit:

nếu bạn thực sự đã mất dòng chảy và muốn thoát khỏi bất cứ nơi nào trong ứng dụng (như trong bất kỳ phương pháp gọi bằng chính), bạn có thể sử dụng:

Environment.Exit(0); 

nhớ bình thường, bạn nên trả về 0 cho quá trình gọi (OS) khi mọi thứ diễn ra tốt đẹp và bạn trả về giá trị khác 0 nếu xảy ra lỗi và thực thi không suôn sẻ như mong muốn.

+0

Tôi muốn gọi thoát từ bên ngoài phương thức Chính. – toop

+1

là bạn bên trong một phương pháp được gọi là từ chính? bạn cũng không thể quay trở lại chính và lợi nhuận chính. –

+0

câu trả lời tuyệt vời nhưng hơi sau khi câu trả lời khác-tôi cũng sử dụng trở lại – toop

Các vấn đề liên quan