对于循环步骤-1

时间:2014-03-27 04:05:34

标签: vb.net loops

我想知道为什么这个循环在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
}

3 个答案:

答案 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)。