VB.NET эквивалент вложенности {} - PullRequest
3 голосов
/ 27 февраля 2009

Есть ли в VB.NET какие-либо операторы вложенности области, такие как {} в языках типов C?

Пример кода типа C ++:

<code>
int i;
i = 0;
{
  int i;
  i++;
}

Ответы [ 2 ]

7 голосов
/ 27 февраля 2009

Вы можете использовать пустой With блок :

With Nothing

    Dim x = 1

    Console.WriteLine("X = " + x.ToString())

End With

' ERROR! x is out of scope at this point. '
Console.WriteLine(x)

Поскольку With является только синтаксическим сахаром, это может быть лучше, чем использование операторов цикла

5 голосов
/ 27 февраля 2009

Нет, VB.Net не имеет таких общих модификаторов видимости. Вы можете смоделировать их, используя пустой цикл, как показано ниже.

Loop
  ...
Until False

Однако это все равно не позволит вам переопределить переменную с тем же именем. В VB.Net (и C #) недопустимо определять переменную во вложенной области с тем же именем, что и переменная во внешней области.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...