VB.NET组合For Each..Next和Do..While

Dav*_*key 1 vb.net asp.net foreach loops while-loop

我有一个像这样的数组:

Dim classes() as String = {"FR%", "SO", "JR", "SR", "SR5"}
Run Code Online (Sandbox Code Playgroud)

我需要像这样遍历这些值:

For Each value as String in classes

Next
Run Code Online (Sandbox Code Playgroud)

问题是,我在For Each..Next里面有一个If..Then..Else子句,它说的是:

If actual_class = value Then
  txt.Text = "Welcome"
Else
  txt.Text = "Goodbye"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,除非个体是字符串数组中的最后一个值("SR5"),否则它们将获得消息"Goodbye"...所以,我需要以某种方式迭代遍历每个值,就像使用a对于Every..Next循环,但是一旦它击中了学生的类,就像Do..While循环一样突破循环 - 这样它们的值就不会被Else子句超越.

Had*_*ope 8

当你想要突破循环时 Exit For

请参阅For EachExit

更新的示例

txt.Text = "Goodbye"

For Each value as String in classes
    If actual_class = value Then
        txt.Text = "Welcome"
        Exit For
    End If
Next
Run Code Online (Sandbox Code Playgroud)

  • 您是否尝试过调试过程,并了解程序的实际流程如何?如果你还没有,现在就这样做. (2认同)