level 1
vb.net 用FOR语句比较数据
一旦false马上停止循环
不再进行下来的比较 要怎么写啊?
求解
For a = 0 To s2.Length - 1
For b = a + 1 To s2.Length - 1
If s2(a).Equals(s2(b)) = False Then
MessageBox.Show("SOFTVERSION不匹配")
Exit For
Else
End If
next
貌似那个exit for 没有什么作用啊I
2013年10月30日 08点10分
1
level 5
Exit For 有作用,从你的代码看,你的For循环是嵌套的,所以Exit For只跳出了内层循环,而外层还在继续。
2013年10月31日 01点10分
2
那要怎么写呢 exit for写在外面的循环里吗?
2013年10月31日 03点10分
level 5
Dim isDone As Boolean '为了能从两重循环中跳出,需要先定义个标志变量
For a = 0 To s2.Length - 1 '开始你的外层循环
For b = a + 1 To s2.Length - 1 '内层循环
If s2(a).Equals(s2(b)) = False Then
MessageBox.Show("SOFTVERSION不匹配")
isDone = True '跳出内层循环前先将标志设为真
Exit For
End If
Next
If isDone Then '如果标志为真就跳出外层循环
Exit For
End If
Next
复制上述代码到合适地方即可。I
2013年10月31日 03点10分
3
还是会无限循环啊
2013年10月31日 06点10分
不应该啊,我还测试了一下,建立一个集合数组{"a","a","b","c","d","e"},正常跳出
2013年10月31日 07点10分
回复 kingstr :嗯 我开始没有跳出内循环 现在看了下 可以了 TKS。
2013年10月31日 07点10分
level 1
条件满足后直接给a、b赋值s2.Length,我就不信他还会循环?
2013年11月02日 20点11分
5
level 6
For a = 0 To s2.Length - 1
For b = a + 1 To s2.Length - 1
这是有问题的,你最后的那次比较,肯定是一样的了!
应该这样写:
For a = 0 To s2.Length - 2
For b = a + 1 To s2.Length - 1
2013年11月03日 04点11分
6