C/С++ 'continue' Эквивалент в VB6
Существует ли эквивалент VB6 для ключевого слова 'continue' C/С++?
В C/С++ команда "продолжить" запускает следующую итерацию цикла.
Конечно, существуют и другие эквиваленты. Я мог бы поместить оставшийся код цикла в if-statement. В качестве альтернативы я мог бы использовать goto. (Тьфу!)
Ответы
Ответ 1
В VB6 нет эквивалента, но более поздние версии VB действительно вводят это ключевое слово. В этой статье содержится более подробное объяснение: http://vbnotebookfor.net/2007/06/04/the-continue-statement/
Возможно, вы можете реструктурировать свой код, чтобы либо добавить оператор if, либо просто вызвать функцию, из которой вы можете вернуться.
Ответ 2
К сожалению, нет продолжения, если VB6 - это было новым в VB 2005, я считаю.
Я бы не всегда боялся утверждений goto - эффективно, что такое Continue, но без необходимости помеченной строки после цикла. Пока ваши операторы goto не заходят слишком далеко, они всегда будут читабельны, и это, вероятно, самое элегантное решение этой проблемы.
Вложение другого if/then/else внутри цикла for на самом деле является HARDER для чтения и поддержки позже, чем хороший простой goto (с комментарием в строке goto, в которой говорится что-то вроде "читать как" Продолжить ").
Удачи!
Ответ 3
VB6 не имеет инструкции continue для циклов. Вы должны эмулировать его с помощью goto, if или другого цикла.
//VB.net
do
if condition then continue do
...
loop
//VB6 equivalent (goto)
do
if condition then goto continue_do
...
continue_do:
loop
//VB6 equivalent (if)
do
if not condition then
...
endif
loop
Вы не можете использовать "exit while" в VB6. Но вы можете использовать goto.
While condition
if should_skip then goto mycontinue
'code
if should_break then goto outloop
mycontinue:
Wend
outloop:
Ответ 4
Я идиот: P спасибо MarkJ
For index As Integer = 1 To 10
If index=9 Then
Continue For
End If
'some cool code'
Next
Не жалко только за .net.
Я думаю, что вам нужно использовать goto, я знаю, что он выглядит "чище использовать продолжение, но нет ничего плохого в том, чтобы идти по маршруту if.
неправильно.
Continue:
For index As Integer = 1 To 10
If index=9 Then
GoTo Continue
End If
'some cool code'
Next
исправлениями (?)
For index = 1 To 10
If index=9 Then
GoTo Continue
End If
'some cool code'
Continue:
Next
ненависть vb