摘要:[C#]return、break、continue的用法
跳出迴圈的這個流程控制方式:
- ‧break:直接跳出迴圈後,會繼續執行迴圈外的程式
- ‧return :直接跳出結束那個函式,不會繼續執行迴圈外的程式
- ‧continue:跳過當前循環體中的當次迴圈(i),進入下一次迴圈(i+1),並回上一層繼續執行迴圈外的程式
廢話不多說,看了以下範例就知了
《break》直接跳出迴圈後,會繼續執行迴圈外的程式
protected void Button2_Click(object sender, EventArgs e)
{
int i;
for (i = 1; i < 10; i++)
{
if (i == 5) break;
Response.Write(i+"、");
}
Response.Write("雖用break,這裡還有迴圈外面的一行程式會繼續被執行喔");
}
//得出1、2、3、4,在i=5執行break 跳出了後不再把迴圈執行完,但會繼續執行迴圈外的程式。
//「Response.Write」後面那段仍會被執行到的喔。
《return》直接跳出結束那個函式,不會繼續執行迴圈外的程式
protected void Button3_Click(object sender, EventArgs e)
{
int i;
for (i = 1; i < 10; i++)
{
if (i == 5)return;
Response.Write(i + "、");
}
Response.Write("用了return,這裡還有迴圈外面的一行程式'不會'被執行到了喔");
}
//得1、2、3、4,當 i=5就跳出整個該程式區塊或事件。
//「Response.Write」後面那段不會被執行到的喔。
《continue》跳過當前循環體中的當次迴圈(i),進入下一次迴圈(i+1),並回上一層繼續執行下面未執行的程式
protected void Button4_Click(object sender, EventArgs e)
{
int i;
for (i = 1; i < 10; i++)
{
if (i == 5) continue;
Response.Write(i + "、");
}
Response.Write("用了continue,迴圈外面的一行程式'也會'繼續被執行");
}
//得 1、2、3、4、6、7、8、9、,只少了 5,當 i=5時就不執行i=5時的程式,直接往i=6以下繼續run下面的迴圈及
//繼續執行迴圈外面的未執行完的程式碼。
延伸使用的筆記:
**************************************************************************************
類別庫中的某段函式:
private bool checkFilesize()
{
_fileSize = ctlFileUpload.PostedFile.ContentLength;//取得上傳檔案大小
if(fileSize > allowFileSize)
{
string msg = "您上傳的檔案大小是: " + fileSize + " K,必須小於: " + allowFileSize + " k ";
OtherHelper.showMessageBox("",msg);
return false;
}
return true;
}
aspx網頁程式後端程式碼:
public void oFileUpload()
{
///*驗證是否有選取了檔案
checkHasFile();
//***驗證上傳檔案大小是否合法***
if ( ! checkFilesize( ) ) return; //成功,可以讓下面↓的函式不再執行下去了。
//*檢查檔名是否有同名
checkSameName();
//*驗證副檔名是否合法
checkExtension();
//*檢查路徑是否存在,不存在就自動建立
checksavePath();
//*完成檔案上傳動作
saveFile();
}
註記:
在IF判別式中使用驚嘆號「 ! 」,把該函式所傳回的true或false做反轉,
例如傳回true,就判為false,傳回false,即就判為true。
例如傳回true,就判為false,傳回false,即就判為true。
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來 將Yahoo上與聯播網的廣大流量導至自己的網站!
●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD