데이터 타입
C# 언어는 다양한 종류의 데이터 타입을 제공한다. 모든 데이터 형식의 근간을 이루는 기본 데이터 타입(Primitive Type)과 상수(Constants) 그리고 열거 타입(Enumerator)과, 기본 데이터 타입을 부품삼아 구성되는 복합 데이터 타입(Complex Data Type)을 지원한다.
스택과 값 타입
값 타입의 변수는 모두 스택에 저장되며, 코드 블록 안에서 생성된 모든 값 타입의 변수들은 프로그램 실행이 코드 블록을 닫히면 메모리에서 제거된다.
힙과 참조 타입
참조 타입의 변수는 힙과 스택을 함께 이용하는데, 힙 영역에는 데이터를 저장하고 스택 영역에는 데이터가 저장된 힙 메모리의 주소를 저장한다. 다시 말해 데이터를 직접 저장하는 대신 실제 데이터가 저장된 메모리의 주소를 참조한다고 해서 참조 타입인 것이다.