1. 정수형
4. 논리형(Boolean)
C# 형 | .NET 형 | Byte | 값 | 제곱 |
sbyte | SByte | 1 | -128 ~ 127 (부호있음) | 2^8 -1 |
byte | Byte | 1 | 0 ~ 255 (부호없음) | |
short | Int16 | 2 | -32,768 ~ 32,767 (부호있음) / 2^16 - 1 | 2^16 - 1 |
ushort | UInt16 | 2 | 0 ~ 65,535 (부호없음) | |
int | Int32 | 4 | -2,147,483,648 ~ 2,147,483,647 (부호있음) / 2^32 - 1 | 2^32 - 1 |
uint | Uint32 | 4 | 0 ~ 4,294,967,295 (부호없음) | |
long | Int64 | 8 | -9,223,372,036,854,775,808 - 9,223,372,036,854,775,807 (부호있음) / 2^64-1 | 2^64 - 1 |
ulong | UInt64 | 8 | 0 ~ 18,446,744,073,709,551,615 (부호없음) |
[표 1. 정수형]
2. 실수형C# 형 | .NET 형 | Byte | 값 |
float | Single | 4 | 약 +/-1.5*10^-45 ~ 약 +/-3.4*10^38 / 유효 숫자 7개 / 32Bit의 부동 소숫점 숫자 |
double | Double | 8 | 약 +/-5.0*10^-324 ~ 약 +/-1.7*10^308 / 유요 숫자 15 ~ 16개 / 64Bit의 부동 소숫점 숫자 |
decimal | Decimal | 12 | 약 +/-1.0*10^28 ~ 약 +/- 7.9*10^28 / 유효 숫자 28개 / 96Bit의 부호있는 숫자 |
[표 2. 실수형]
float과 double형은 IEEE 754 표준을 따릅니다. 반면 decimal은 가장 적음 범위의 숫자를 지원하지만 반올림 오류가 발생하지 않기 때문에 28자리까지 저장이 가능합니다.
float t1Float = 1.2; float t2Float = 1.2f; float t3Float = 1.2F; double t1Double = 1.234; double t2Double = 1.234d; double t3Double = 1.234D; decimal t1Decimal = 1.23456789m; decimal t2Decimal = 1.23456789M;
float은 f나 F, double은 d나 D를 붙이거나 생략해도 되지만 decimal은 m, M을 붙여야 합니다.
3. 문자형
C# 형 | .NET 형 | Byte | 값 |
char | Char | 2 | 16Bit의 Unicode문자 / U0000 ~ UFFFF(U + 숫자) |
[표 3. 문자형]
char형에는 이스케이프 문자(Escape character)와 유니코드 시퀀스 입력이 가능합니다.이스케이프 문자 | 유니코드 디코딩 | 기능 |
\' | 0x0027 | 작은 따옴표 |
\" | 0x0022 | 큰 따옴표 |
\\ | 0x005C | 백슬래시 |
\0 | 0x0000 | NULL |
\a | 0x0007 | 경고 |
\b | 0x0008 | 백스페이스 |
\f | 0x000C | 폼피드 |
\n | 0x000A | 개행(줄바꿈) |
\r | 0x000D | 캐리지 리턴 |
\t | 0x0009 | 수평탭(가로탭) |
\v | 0x000B | 수직탭(새로탭) |
\x | \x0041 = "A" | 가변 길이를 특징으로 하는 "\u"와 유사한 유니코드 이스케이프 시퀀스 |
\u | \u0041 = "A" | 유니코드 이스케이프 시퀀스 |
\U | \Unnnnnnnn | 서로게이트 쌍에 대한 유니코드 이스케이스 시퀀스 |
\r\n | 캐리지 리턴 후 개행 |
[표 4. 이스케이프 문자, 유니코드]
string strTest = @"C:\Windows\font\arial.ttf";
이스케이프 문자는 파일에 위치 표현과 같은 곳에서는 사용이 부적절 하기 때문에 문자열 앞에 "@"를 붙여 이스케이프 문자를 무시할 수 있습니다. string형은 데이터 형식의 참조형식이기 때문에 다음에 이어 하도록 하겠습니다.
4. 논리형(Boolean)
C# 형 | .NET 형 | Byte | 값 |
bool | Boolean | 1 | true(참) 혹은 false(거짓) |
[표 5. 논리형]
여기에 사용자 정의형 struct까지가 값 형식의 구조체형 데이터 타입이며 enum은 값 형식의 열거형으로 나뉩니다.