我想知道为什么这个循环在VB.NET中没有显示任何内容。
我认为这段代码会创建一个无限循环。但它没有任何表现。
Dim i as Integer
For i = 1 to 3 Step - 1
MessageBox.Show(i)
Next
该循环是否与此代码不同(在java / c#中)?
for(int i = 1;i <= 3;i--)
{
// print i
}
答案 0 :(得分:4)
http://msdn.microsoft.com/en-us/library/5z06z1kb.aspx 对于负步长,循环仅在计数器&gt; =结束时执行。所以在这种情况下,当i = 1时,它小于结束值,所以循环根本不执行。
答案 1 :(得分:1)
它没有显示任何内容,因为您在不反转开始和结束条件的情况下向后运行计数器。
想想这样的循环:
Dim counter As Int32 = 1
Do
If counter <= 1 Then
Exit Do
End If
Console.WriteLine("The counter is at " & counter)
counter +=1
Loop
显然这不会正常工作。 您需要反转开始和结束条件:
For counter = 3 To 1 Step -1
Console.WriteLine("counter: " & counter)
Next
答案 2 :(得分:0)
For i = 1 to 3 Step - 1
它不会创建无限循环。循环将被简单地跳过,因为你不能从1到3获得步长值-1。
该循环是否与此代码不同(在java / c#中)?
此循环也会立即结束,因为初始值(i = 1
)符合退出条件(i <= 3
)。