Visual Basic에는 참조 형식과 값 형식의 두 가지 유형이 있습니다. 참조 형식의 변수는 해당 데이터(개체)에 대한 참조를 저장하지만 값 형식의 변수에는 해당 데이터가 직접 포함됩니다. 참조 형식에서는 두 가지 변수가 같은 개체를 참조할 수 있으므로 한 변수에 대한 작업이 다른 변수에서 참조하는 개체에 영향을 미칠 수 있습니다. 값 형식을 사용하면 각 변수에 고유한 데이터 복사본이 있으며 한 변수에 대한 작업이 다른 변수에 영향을 줄 수 없습니다( 매개 변수에 대한 ByRef 한정자의 경우 제외).
값 형식
데이터 형식은 자체 메모리 할당 내에서 데이터를 보유하는 경우 값 형식 입니다. 값 형식에는 다음이 포함됩니다.
모든 숫자 데이터 형식
Boolean,Char및Date멤버가 참조 형식인 경우에도 모든 구조체
열거형은 기본 형식이 항상
SByte,Short,Integer,Long,Byte,UShort,UInteger또는ULong
모든 구조체는 참조 형식 멤버를 포함하는 경우에도 값 형식입니다. 이러한 이유로 Char 및 Integer 같은 값 형식은 .NET Framework 구조체로 구현됩니다.
예를 들어 Decimal예약된 키워드를 사용하여 값 형식을 선언할 수 있습니다. 키워드를 New 사용하여 값 형식을 초기화할 수도 있습니다. 이는 형식에 매개 변수를 사용하는 생성자가 있는 경우에 특히 유용합니다. 이 예제는 Decimal(Int32, Int32, Int32, Boolean, Byte) 제공된 부분에서 새 Decimal 값을 빌드하는 생성자입니다.
참조 형식
참조 형식은 해당 데이터에 대한 참조를 저장합니다. 참조 형식은 다음과 같습니다.
String요소가 값 형식인 경우에도 모든 배열
클래스 형식(예: Form
대표자
클래스는 참조 형식입니다. 멤버가 값 형식인 경우에도 모든 배열은 참조 형식입니다.
모든 참조 형식은 기본 .NET Framework 클래스를 나타내므로 초기화할 때 새 연산자 키워드를 사용해야 합니다. 다음 문은 배열을 초기화합니다.
Dim totals() As Single = New Single(8) {}
형식이 아닌 요소
선언된 요소의 데이터 형식으로 지정할 수 없으므로 다음 프로그래밍 요소는 형식으로 한정되지 않습니다.
네임스페이스
모듈
이벤트
속성 및 프로시저
변수, 상수 및 필드
개체 데이터 형식 작업
참조 형식 또는 값 형식을 데이터 형식의 변수에 Object 할당할 수 있습니다. 변수는 Object 항상 데이터 자체가 아닌 데이터에 대한 참조만을 보유합니다. 그러나 변수에 값 형식을 Object 할당하면 변수가 자체 데이터를 보유하는 것처럼 동작합니다. 자세한 내용은 개체 데이터 형식을 참조하세요.
변수를 Object 네임스페이스 클래스의 IsReference 메서드 Information 에 전달 Microsoft.VisualBasic 하여 변수가 참조 형식 또는 값 형식으로 동작하는지 여부를 확인할 수 있습니다.
Information.IsReference는 True 변수의 내용이 참조 형식을 나타내는 경우 Object을 반환합니다.
참고하십시오
.NET