Что означает [String] в VB.NET?

Кто-нибудь знает, что означает следующая конструкция:

    Dim s1 as [String]

Что означают квадратные скобки? И почему следующий оператор с Integer терпит неудачу, в то время как один выше, с помощью String?

    Dim i1 as [Integer]

Спасибо заранее.

Ответы

Ответ 1

Используются квадратные скобки, поэтому компилятор интерпретирует его как тип, даже если это ключевое слово. Представьте себе, например, если у вас был класс с именем As:

Dim a As [As]

Обычно это используется только в автоматически сгенерированном коде, так что он работает с любым типом, который вы бросаете на него.

Причина, по которой вы не можете использовать [Integer], заключается в том, что Integer не является типом данных, это ключевое слово. Вам нужно будет использовать соответствующий тип данных, т.е. [Int32].

Ответ 2

Квадратные скобки используются для создания переменной, имеющей то же имя, что и ключевое слово в VB.NET. Поэтому они чаще всего используются таким образом:

Dim [Integer] As Integer
Dim [String] As String

Ответ 3

В дополнение к другим ответам:

В случае использования имен переменных с именами такие же, как типы: вам не нужно использовать их в своем собственном коде. Если вы это сделаете, вы наименее плохо назовете имена переменных, и вам нужно сначала работать с лучшими именами переменных!