코드의 특수 문자(Visual Basic)

코드에 특수 문자, 즉 알파벳이나 숫자가 아닌 문자를 사용해야 하는 경우가 있습니다. Visual Basic 문자 집합의 문장 부호와 특수 문자는 프로그램 텍스트 구성부터 컴파일러나 컴파일된 프로그램이 수행하는 작업 정의에 이르기까지 다양한 용도로 사용됩니다. 이러한 특수 문자는 수행할 작업을 지정하지 않습니다.

괄호

Sub 또는 Function과 같은 절차를 정의할 때 괄호를 사용합니다. 모든 절차 인수 목록을 괄호로 묶어야 합니다. 또한 특히 복잡한 식에서 연산자 우선 순위의 기본 순서를 재정의하기 위해 변수나 인수를 논리 그룹에 넣을 때 괄호를 사용합니다. 다음 예제에서는 이것을 보여 줍니다.

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

자세한 내용은 방법: 코드에서 문 나누기 및 결합을 참조하세요.

콜론(:) 문자는 문 레이블을 식별하는 데에도 사용됩니다. 자세한 내용은 방법: 레이블 문을 참조하세요.

Concatenation

연결 또는 문자열을 함께 연결하려면 & 연산자를 사용합니다. 숫자 값을 더하는 + 연산자와 혼동하지 마세요. 숫자 값에 대해 연산을 수행할 때 + 연산자를 사용하여 연결하면 잘못된 결과를 가져올 수 있습니다. 다음은 이에 대한 예입니다.

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

이전 코드를 실행한 후 resultA 값은 21.01이고 resultB 값은 "10.0111"입니다.

멤버 액세스 연산자

형식의 멤버에 액세스하려면 형식 이름과 멤버 이름 사이에 점(.) 또는 느낌표(!) 연산자를 사용합니다.

점(.) 연산자

클래스, 구조체, 인터페이스 또는 열거형에서 . 연산자를 멤버 액세스 연산자로 사용합니다. 멤버는 필드, 속성, 이벤트 또는 메서드일 수 있습니다. 다음 예제에서는 이것을 보여 줍니다.

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 형식 문자로도 사용됩니다.

참고 항목