ユーザーがメニューオプションを選択したら、コンソールを閉じる必要があります。
使ってみましたclose()
がうまくいきませんでした。
これどうやってするの?
回答:
Environment.Exit
そして Application.Exit
Environment.Exit(0)
きれいです。
http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx
終了とは、コンソールアプリの現在のインスタンスを終了することを意味しますか、それともアプリケーションプロセスを終了することを意味しますか?すべての重要な終了コードを見逃しました:
Environment.Exit(0);
または、フォームの現在のインスタンスを閉じるには:
this.Close();
便利なリンク。
//How to start another application from the current application
Process runProg = new Process();
runProg.StartInfo.FileName = pathToFile; //the path of the application
runProg.StartInfo.Arguments = genArgs; //any arguments you want to pass
runProg.StartInfo.CreateNoWindow = true;
runProg.Start();
//How to end the same application from the current application
int IDstring = System.Convert.ToInt32(runProg.Id.ToString());
Process tempProc = Process.GetProcessById(IDstring);
tempProc.CloseMainWindow();
tempProc.WaitForExit();
return;
C#でメソッドを終了します。
以下のコードスニペットを参照してください
using System;
namespace Exercise_strings
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Input string separated by -");
var stringInput = Console.ReadLine();
if (string.IsNullOrWhiteSpace(stringInput))
{
Console.WriteLine("Nothing entered");
return;
}
}
したがって、この場合、ユーザーがnull文字列または空白を入力すると、returnメソッドを使用するとMainメソッドがエレガントに終了します。
したがって、アプリケーションを突然終了または終了させたいとは言わなかったので、別のオプションとして、応答ループをエレガントに終了させることもできます。(ユーザーの指示を待つwhileループがあると想定しています。これは、今日書いたプロジェクトのコードです。
Console.WriteLine("College File Processor");
Console.WriteLine("*************************************");
Console.WriteLine("(H)elp");
Console.WriteLine("Process (W)orkouts");
Console.WriteLine("Process (I)nterviews");
Console.WriteLine("Process (P)ro Days");
Console.WriteLine("(S)tart Processing");
Console.WriteLine("E(x)it");
Console.WriteLine("*************************************");
string response = "";
string videotype = "";
bool starting = false;
bool exiting = false;
response = Console.ReadLine();
while ( response != "" )
{
switch ( response )
{
case "H":
case "h":
DisplayHelp();
break;
case "W":
case "w":
Console.WriteLine("Video Type set to Workout");
videotype = "W";
break;
case "I":
case "i":
Console.WriteLine("Video Type set to Interview");
videotype = "I";
break;
case "P":
case "p":
Console.WriteLine("Video Type set to Pro Day");
videotype = "P";
break;
case "S":
case "s":
if ( videotype == "" )
{
Console.WriteLine("Please Select Video Type Before Starting");
}
else
{
Console.WriteLine("Starting...");
starting = true;
}
break;
case "E":
case "e":
Console.WriteLine("Good Bye!");
System.Threading.Thread.Sleep(100);
exiting = true;
break;
}
if ( starting || exiting)
{
break;
}
else
{
response = Console.ReadLine();
}
}
if ( starting )
{
ProcessFiles();
}