Пока цикл в VB.NET - PullRequest
       1

Пока цикл в VB.NET

0 голосов
/ 20 января 2012

У меня есть небольшие проблемы с синтаксисом.Я привык к C # и только начал VB.NET .Я пытаюсь сделать цикл while, когда он просматривает элементы из списка.Какой синтаксис я делаю неправильно?

While oResponse.outputControl.Items(i) <> Nothing

    //Do something

End While

Ответы [ 2 ]

5 голосов
/ 20 января 2012

Не забудьте увеличить свой счетчик:

While oResponse.outputControl.Items(i) <> Nothing

    'Do something
    i += 1

End While

, и если это тип ссылки (вы не сказали, но, вероятно, это так), вы не можете сравнить его с Nothing с оператором <>:

While oResponse.outputControl.Items(i) IsNot Nothing

    'Do something
    i += 1

End While

Но, может быть, вам действительно нужен цикл For Each:

For Each Item In oResponse.outputControl.Items
    'Do Something
Next Item

И еще одна вещь: что с венгерской бородавкой вoResponse переменная?Этот стиль больше не рекомендуется, и теперь Microsoft даже особо рекомендует против него.VB.Net также имеет функцию под названием «Свойства по умолчанию», которая может сделать это еще проще.Собираем все вместе (теперь включая тип ListItem из вашего комментария выше):

For Each Item As ListItem In Response.outputControl
    'Do Something
Next Item
0 голосов
/ 20 января 2012

Попробуйте:

While oResponse.outputControl.Items(i) Is Nothing

    'do something

End While

Вы также можете сделать это, если хотите быть особенно старой школой:

Do

    'do something

Loop Until Not oResponse.outputControl.Items(i) Is Nothing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...