자료형

bool // System.Boolean, True or False

byte // System.Byte, 8bit unsigned integer
sbyte // System.SByte, 8bit signed integer

short // System.Int16, 16bit signed integer
int // System.Int32, 32bit signed integer
long // System.Int64, 64bit signed integer

ushort // System.UInt16, 16bit unsigned integer
uint // System.UInt32, 32bit unsigned integer
ulong // System.UInt64, 64bit unsigned integer

float // System.Single, 32bit single precision 부동소수점 숫자
double // System.Double, 64bit double precision 부동소수점 숫자
decimal // System.Decimal, 128bit Decimal

char // System.Char, 16bit unicode char
string // System.String, uncode string

; // System.DateTime, date and time, C# 키워드 없음

object // System.Object, 모든 타입의 기본 클래스. 모든 유형 포함 가능.

사용예

bool b = true;

short sh = -32768;
int i = 2147483647;
long l = 1234L;      // L suffix
float f = 123.45F;   // F suffix
double d1 = 123.45;
double d2 = 123.45D; // D suffix
decimal d = 123.45M; // M suffix

char c = 'A';
string s = "Hello";

DateTime dt = new DateTime(2020, 3, 3, 17, 45, 0);

최소값, 최대값

int i = int.MaxValue;
float f = float.MinValue;

NULL

  • 메모리 상에 어떤 데이터도 가지고 있지 않음.
  • null을 가질 수 있는 타입(Reference)와 가질 수 없는 타입(Value)으로 구분됨.
string s;
s = null;

Nullable Type

  • c# 2.0 부터 Value Type에도 null을 가질 수 있게 됨.
  • 타입명 뒤에 ?를 붙이면 Nullable Type이 된다.
  • 컴파일되면 .NET의 Nullable 타입으로 변환됨.
  • DB에 NULL이 허용된 Int 컬럼이 있을 때 int? 로 매핑하는 아이디어.
int? i = null;
i = 100;

bool? b = null;

Nullable<int> j = null;
j = 100;

int k = j.Value;

참고자료