Поделиться через


Специальные символы в коде (Visual Basic)

Иногда в коде необходимо использовать специальные символы, то есть символы, которые не являются алфавитными или числовыми. Знаки препинания и специальные символы в наборе символов Visual Basic используют различные виды использования, от организации текста программы до определения задач, выполняемых компилятором или скомпилированной программой. Они не указывают операцию, выполняемую.

Круглые скобки

При определении процедуры используйте круглые скобки, такие как или SubFunction. Необходимо заключить все списки аргументов процедуры в скобки. Вы также используете скобки для размещения переменных или аргументов в логические группы, особенно для переопределения порядка приоритета оператора по умолчанию в сложном выражении. В следующем примере показано это.

Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a

После выполнения предыдущего кода значение d равно 8.225, а значение e равно 3. Расчет для d использует приоритет / над + по умолчанию и эквивалентен d = b + (c / a). Скобки в вычислении для e переопределяют приоритет по умолчанию.

Разделители

Разделители делают то, что предполагает их имя: они разделяют разделы кода. В Visual Basic символ разделителя является двоеточием (:). Используйте разделители, если требуется включить несколько операторов в одну строку вместо отдельных строк. Это экономит пространство и улучшает удобочитаемость кода. В следующем примере показаны три инструкции, разделенные двоеточиями.

a = 3.2 : b = 7.6 : c = 2

Дополнительные сведения см. в статье "Практическое руководство: Разрыв и объединение операторов в коде".

Символ двоеточия (:) также используется для идентификации метки инструкции. Дополнительные сведения см. в разделе "Практическое руководство. Инструкции меток".

Конкатенация

& Используйте оператор для объединения или связывания строк вместе. Не путайте его с оператором + , который добавляет вместе числовые значения. Если вы используете оператор + для конкатенации при работе с числовыми значениями, вы можете получить неверные результаты. Это продемонстрировано в следующем примере.

var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2

После выполнения предыдущего кода значение resultA равно 21.01, а значение resultB равно "10.011".

Операторы доступа к членам

Чтобы получить доступ к члену типа, используйте оператор dot (.) или восклицательный знак (!) между именем типа и именем члена.

Dot (.) Оператор

Используйте оператор . на классе, структуре, интерфейсе или перечислении в качестве оператора доступа к члену. Элемент может быть полем, свойством, событием или методом. В следующем примере показано это.

Dim nextForm As New System.Windows.Forms.Form
' Access Text member (property) of Form class (on nextForm object).
nextForm.Text = "This is the next form"
' Access Close member (method) on nextForm.
nextForm.Close()

Восклицательный знак (!) Оператор

! Используйте оператор только в классе или интерфейсе в качестве оператора доступа к словарю. Класс или интерфейс должны иметь свойство по умолчанию, которое принимает один String аргумент. Идентификатор сразу после оператора становится значением аргумента ! , переданным свойству по умолчанию в виде строки. Это продемонстрировано в следующем примере.

Public Class hasDefault
  Default Public ReadOnly Property index(ByVal s As String) As Integer
    Get
      Return 32768 + AscW(s)
    End Get
  End Property
End Class
Public Class testHasDefault
  Public Sub compareAccess()
    Dim hD As hasDefault = New hasDefault()
    MsgBox("Traditional access returns " & hD.index("X") & vbCrLf & 
      "Default property access returns " & hD("X") & vbCrLf & 
      "Dictionary access returns " & hD!X)
  End Sub
End Class

Три строки вывода MsgBox все отображают значение 32856. Первая строка использует традиционный доступ к свойству index, второй использует тот факт, что index является свойством класса hasDefaultпо умолчанию, а третий использует доступ словаря к классу.

Обратите внимание, что второй операнд ! оператора должен быть допустимым идентификатором Visual Basic, не заключенным в двойные кавычки (" "). Другими словами, нельзя использовать строковый литерал или строковую переменную. Следующее изменение в последней строке MsgBox вызова вызывает ошибку, потому что "X" — это вложенный строковый литерал.

"Dictionary access returns " & hD!"X")

Замечание

Ссылки на коллекции по умолчанию должны быть явными. В частности, нельзя использовать оператор ! на переменной с поздней привязкой.

Символ ! также используется в качестве символа Single типа.

См. также