Подтвердить что ты не робот

C/С++ 'continue' Эквивалент в VB6

Существует ли эквивалент VB6 для ключевого слова 'continue' C/С++?

В C/С++ команда "продолжить" запускает следующую итерацию цикла.

Конечно, существуют и другие эквиваленты. Я мог бы поместить оставшийся код цикла в if-statement. В качестве альтернативы я мог бы использовать goto. (Тьфу!)

4b9b3361

Ответ 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