Комбинация VB.NET для каждого .. Следующая и До .. Пока - PullRequest
1 голос
/ 21 марта 2011

У меня есть такой массив:

Dim classes() as String = {"FR%", "SO", "JR", "SR", "SR5"}

Мне нужно просмотреть эти значения следующим образом:

For Each value as String in classes

Next

Проблема в том, что у меня есть предложение If..Then..Else внутри этого For Each..Next, которое говорит что-то вроде:

If actual_class = value Then
  txt.Text = "Welcome"
Else
  txt.Text = "Goodbye"

Когда я запускаю это, если человек не является последним значением в строковом массиве ("SR5"), они получат сообщение "До свидания" ... так что мне нужно как-то перебрать каждое значение, как выполняется с помощью цикла For Each..Next, но также выходит из цикла, как только он попадает в класс учащегося, как цикл Do..While, - чтобы их значение не превышалось предложением Else.

Ответы [ 2 ]

8 голосов
/ 21 марта 2011

Если вы хотите выйти из цикла, выполните Exit For

См. Для каждого и Выход

Обновленный пример

txt.Text = "Goodbye"

For Each value as String in classes
    If actual_class = value Then
        txt.Text = "Welcome"
        Exit For
    End If
Next
0 голосов
/ 30 июля 2013
txt.Text = ""

For Each value as String in classes
    If actual_class = value Then
        txt.Text = "Welcome"
    Else
        txt.Text = "Goodbye"
    End If
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...