要弄清楚這兩個問題,就要明白For循環(huán)語句的語法規(guī)則:
我們提供的服務有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、通山ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的通山網(wǎng)站制作公司
For循環(huán)語句,首先是判斷循環(huán)條件,如果循環(huán)條件不合理,則循環(huán)不執(zhí)行。
那么看第一個語句,循環(huán)范圍是 i = -3.5 to 5.5,顯然這個是一個從-3.5到5.5的遞增范圍,可是后面的Step卻是一個負數(shù),表示以0.5的步長遞減。取值范圍要求從小到大,可是步長改變卻是由大變小,顯然這個循環(huán)條件自相矛盾,所以循環(huán)將不會執(zhí)行,也就是循環(huán)執(zhí)行的次數(shù)是0次!
如果循環(huán)條件合理,則開始執(zhí)行循環(huán)語句,直到根據(jù)步長變換,下一個值超出循環(huán)范圍則終止。
For j = 6 to 2 Step -2
Next
完整寫法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一個j值。結合本題,下一個j值等于6-2=4,這個時候,就是循環(huán)語句的第二個規(guī)則,判斷循環(huán)變量的值是否超出循環(huán)范圍,我們這里的j=4,顯然是在6 to 2這個范圍之內(nèi),所以循環(huán)繼續(xù),到下一個j的時候為2,依然在循環(huán)范圍內(nèi);到這里,6,4,2我們的循環(huán)執(zhí)行了3次,準備第4次循環(huán)的時候j = 2 -2 = 0超過了6 to 2這個范圍,那么循環(huán)終止。
所以i循環(huán)內(nèi)的每一個j循環(huán)將執(zhí)行3次。
好像不難吧?
我放進了Button1的Click事件里。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo Errmessages '在做系統(tǒng)操作時加排錯標簽是個好習慣
Dim TargetName As String = "ibmdict" '存儲進程名為文本型,注:進程名不加擴展名
Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '從進程名獲取進程
Dim TargetPath As String '存儲進程路徑為文本型
If TargetKill.Length 1 Then '判斷進程名的數(shù)量,如果同名進程數(shù)量在2個以上,用For循環(huán)關閉進程。
For i = 0 To TargetKill.Length - 1
TargetPath = TargetKill(i).MainModule.FileName
TargetKill(i).Kill()
Next
ElseIf TargetKill.Length = 0 Then '判斷進程名的數(shù)量,沒有發(fā)現(xiàn)進程直接彈窗。不需要的,可直接刪掉該If子句
MsgBox("沒有發(fā)現(xiàn)進程!")
Exit Sub
ElseIf TargetKill.Length = 1 Then '判斷進程名的數(shù)量,如果只有一個,就不用For循環(huán)
TargetKill(0).Kill()
End If
MsgBox("已終止" TargetKill.Length "個進程") '彈窗提示已終止多少個進程
Errmessages: ‘定義排錯標簽
If Err.Description Nothing Then ’判斷有無錯誤,如果有,則 ↓
MsgBox(Err.Description) '當出現(xiàn)錯誤時,彈窗提示
End If
End Sub
可根據(jù)需要自行修改,這個備注夠完善了吧?不會的再Hi我。
一、退出本次循環(huán):
用goto語句處理,例如:
For i = 0 To 10
If i Mod 2 = 0 Then GoTo e
.....
....
e:
Next i
二、退出整個for循環(huán)用:exit for
擴展資料:
注意事項
常見的for循環(huán)一般是一下代碼這種結構:
for?(int?i?=?0;?i??100;?i++)
{
Console.WriteLine(i);
}
或者遞減的:
for?(int?i?=?100;?i??0?;?i--)
{
Console.WriteLine(i);
}
但for當然不止這樣一種用法。for的定義,()內(nèi)的三段表達式,除了中間的必須產(chǎn)生布爾型,并未對其余兩段有所限制,只要是表達式就可以了。在Lucene.Net中就有好幾次這樣的用法。例如:
for?(Token?token?=?input.Next(result);?token?!=?null;?token?=?input.Next(result))
{
int?len?=?token.TermText().Length;
if?(len?=?min??len?=?max)
{
return?token;
}
}
Dim?s?As?String?=?"123456789"
For?i?=?1?To?Len(s)
TextBox1.Text?=?TextBox1.Text??Mid(s,?i,?1)
System.Threading.Thread.Sleep(1000)
Application.DoEvents()
Next
實話說,我從來沒聽說VB里有return語句,如果是VB.net里有的就當我沒學過孤陋寡聞吧。
我只知道VB里跳出循環(huán)是Exit for,而不是什么return。
先不說有沒有return關鍵字,明顯它在j循環(huán)的外面,而在i循環(huán)的里面,那自然是只對i循環(huán)有效果了,怎么可能結束j循環(huán)呢?
如果要結束i循環(huán)就在那個位置用exit for。如果要線束j循環(huán)就在j循環(huán)體里用 exit for。
exit for 只結束包含它的最近的一層的循環(huán),懂我的意思么?
return在其它語言里,是表示返回,跳出整個函數(shù),而不是跳出某個循環(huán)。
網(wǎng)站名稱:vb.net結束循環(huán) vb退出循環(huán)
本文鏈接:http://jinyejixie.com/article2/dosoooc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站建設、全網(wǎng)營銷推廣、網(wǎng)站設計公司、ChatGPT、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)