[C#](note)跳出迴圈之return、break、continue的用法
https://dotblogs.com.tw/mis0800/2015/05/16/151316
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace pt1
{
static class Program
{
/// <summary>
/// 應用程式的主要進入點。
/// </summary>
[STAThread]
static void Main(string[] args1)
{
string[] args = { "w" };
if (args1.Length != 0)
args = args1;
if (args.Length > 0 && args[0] == "w") //這裡進入主程
{
#region 主程式
//用來判斷程式是否已執行
bool isAppRunning = false;
Mutex mutex = new System.Threading.Mutex(true, Process.GetCurrentProcess().ProcessName, out isAppRunning);
//已執行則不鳥
if (!isAppRunning)
{
//MessageBox.Show("Not work!");
//AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
////加入關閉後自動執行的function
//Environment.Exit(Environment.ExitCode);
////關閉 觸發CurrentDomain_ProcessExit
//《return》直接跳出結束那個函式,不會繼續執行迴圈外的程式
return;
}
MessageBox.Show("return跳出1");
try
{
MessageBox.Show("return跳出2");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
//加入下列這段不然會跳出try,在Main內跑迴圈
Environment.Exit(Environment.ExitCode);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
try
{
Application.Restart();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
#endregion
}
else //執行程式優先執行AutoUpgrade
{
MessageBox.Show("AutoUpgrade");
}
// MessageBox.Show("return跳出3");
}
}
}
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace pt1
{
static class Program
{
/// <summary>
/// 應用程式的主要進入點。
/// </summary>
[STAThread]
static void Main(string[] args1)
{
string[] args = { "w" };
if (args1.Length != 0)
args = args1;
if (args.Length > 0 && args[0] == "w") //這裡進入主程
{
#region 主程式
//用來判斷程式是否已執行
bool isAppRunning = false;
Mutex mutex = new System.Threading.Mutex(true, Process.GetCurrentProcess().ProcessName, out isAppRunning);
//已執行則不鳥
if (!isAppRunning)
{
//MessageBox.Show("Not work!");
//AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
////加入關閉後自動執行的function
//Environment.Exit(Environment.ExitCode);
////關閉 觸發CurrentDomain_ProcessExit
//《return》直接跳出結束那個函式,不會繼續執行迴圈外的程式
return;
}
MessageBox.Show("return跳出1");
try
{
MessageBox.Show("return跳出2");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
//加入下列這段不然會跳出try,在Main內跑迴圈
Environment.Exit(Environment.ExitCode);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
try
{
Application.Restart();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
#endregion
}
else //執行程式優先執行AutoUpgrade
{
MessageBox.Show("AutoUpgrade");
}
// MessageBox.Show("return跳出3");
}
}
}
沒有留言:
張貼留言