String 데이터 형식(Visual Basic)

값 범위가 0부터 65535까지인 부호 없는 16비트(2바이트) 코드 포인트의 시퀀스를 보유합니다. 각 코드 포인트 또는 문자 코드는 단일 유니코드 문자를 나타냅니다. 문자열에는 0~약 20억(2^31)개의 유니코드 문자가 포함될 수 있습니다.

설명

String 데이터 형식을 사용하면 Char 요소의 배열인 Char()의 배열 관리 오버헤드 없이 여러 문자를 보유할 수 있습니다.

String의 기본값은 Nothing(null 참조)입니다. 이는 빈 문자열(값 "")과 동일하지 않습니다.

유니코드 문자

유니코드의 처음 128개 코드 포인트(0~127)는 표준 미국 키보드의 문자 및 기호에 해당합니다. 이러한 처음 128개의 코드 포인트는 ASCII 문자 집합이 정의하는 것과 동일합니다. 두 번째 128개의 코드 포인트(128~255)는 라틴 기반 알파벳 문자, 강조, 통화 기호 및 분수와 같은 특수 문자를 나타냅니다. 유니코드는 다양한 기호에 나머지 코드 포인트(256-65535)를 사용합니다. 여기에는 전세계 텍스트 문자, 발음 구별 부호, 수학 및 기술 기호가 포함됩니다.

String 변수의 개별 문자에 대해 IsDigitIsPunctuation과 같은 메서드를 사용하여 유니코드 분류를 결정할 수 있습니다.

형식 요구 사항

String 리터럴은 따옴표(" ")로 묶어야 합니다. 문자열의 문자 중 하나로 따옴표를 포함해야 하는 경우 두 개의 연속된 따옴표("")를 사용합니다. 다음 예제에서는 이것을 보여 줍니다.

Dim j As String = "Joe said ""Hello"" to me."  
Dim h As String = "Hello"  
' The following messages all display the same thing:  
' "Joe said "Hello" to me."  
MsgBox(j)  
MsgBox("Joe said " & """" & h & """" & " to me.")  
MsgBox("Joe said """ & h & """ to me.")  

문자열에서 따옴표를 나타내는 연속 따옴표는 String 리터럴을 시작하고 끝내는 따옴표와 별개입니다.

문자열 조작

문자열을 String 변수에 할당하면 해당 문자열은 변경할 수 없습니다. 즉, 길이나 콘텐츠를 변경할 수 없습니다. 어떤 방식으로든 문자열을 변경하면 Visual Basic은 새 문자열을 만들고 이전 문자열을 삭제합니다. 그런 다음 String 변수는 새 문자열을 가리킵니다.

다양한 문자열 함수를 사용하여 String 변수의 콘텐츠를 조작할 수 있습니다. 다음 예에서는 Left 함수를 보여 줍니다.

Dim S As String = "Database"  
' The following statement sets S to a new string containing "Data".  
S = Microsoft.VisualBasic.Left(S, 4)  

다른 구성 요소에서 만들어진 문자열은 선행 또는 후행 공백으로 채워질 수 있습니다. 이러한 문자열을 받으면 Trim, LTrimRTrim 함수를 사용하여 이러한 공백을 제거할 수 있습니다.

문자열 조작에 대한 자세한 내용은 문자열을 참조하세요.

프로그래밍 팁

  • 음수. String이 보유하는 문자는 부호가 없으며 음수 값을 나타낼 수 없다는 점을 기억합니다. 어떤 경우에도 숫자 값을 보유하기 위해 String을 사용해서는 안 됩니다.

  • Interop 고려 사항. .NET Framework용으로 작성되지 않은 구성 요소(예: 자동화 또는 COM 개체)와 인터페이스하는 경우 문자열 문자는 다른 환경에서 다른 데이터 너비(8비트)를 갖는다는 점에 유의해야 합니다. 8비트 문자의 문자열 인수를 해당 구성 요소에 전달하는 경우 새 Visual Basic 코드에서 String 대신 Byte 요소의 배열인 Byte()로 선언합니다.

  • 형식 문자. 식별자에 식별자 형식 문자 $을 추가하면 해당 식별자가 String 데이터 형식이 됩니다. String에는 리터럴 형식 문자가 없습니다. 그러나 컴파일러는 따옴표(" ")로 묶인 리터럴을 String으로 처리합니다.

  • Framework 형식. .NET Framework에서 해당 형식은 System.String 클래스입니다.

참고 항목