Что означает [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
В дополнение к другим ответам:
В случае использования имен переменных с именами такие же, как типы: вам не нужно использовать их в своем собственном коде. Если вы это сделаете, вы наименее плохо назовете имена переменных, и вам нужно сначала работать с лучшими именами переменных!