[C#] C# Data Type

2013. 2. 22. 09:14Others/C# 일반

C# Data Type

C#의 Data Type는 .NET Framework에 정의되어 있으며, 모두 객체로 정의되어 있다. 모든 Data Type는 System이라는 Namespace에 정의되어 있다. 모든 Data Type는 System.Object에서 파생된 System.Type로 부터 상속는다. C#에서 지원하는 Data Type은 MSDN에서 확인할 수 있다.

정수

타 입 실제이름 범위
sbyte System.SByte -128 ~ 127
byte System.Byte 0 ~ 255
char System.Char 하나의 유니코드 문자. U+0000 ~ U+FFFF
short System.Int16 -32,768 ~ 32,767
ushort System.UInt16 0 ~ 65,535
int System.Int32 -2,147,483,648 ~ 2,147,483,647
uint System.UInt32 0 ~ 4,294,967,295
long System.Int64 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulong System.UInt64 0 ~ 18,446,744,073,709,551,615

실수

타 입 실제이름 정밀도 범 위
float System.Single 7개의 자릿수 ±1.5 ×10~45 ~ ±3.4 × 1038
Double System.Double 15~16개의 자릿수 ±5.0 ×10~324 ~ ±1.7 × 10308
Decimal System.Decimal 28~29개의 자릿수 1.0 ×10~28 ~ 7.9× 1028

그 외

타 입 실제이름 특 징
Object System.Object 모든 타입의 최상위 부모 클래스. C#에서 모든 객체들은 이 Object 클래스로부터 상속받는다.
String System.String 문자열을 나타내는 타입이다.
Bool System.Boolean Boolean 값이며 참(true) 또는 거짓(false)를 나타낸다.

기본값

Nullable 형태가 아닌 모든 변수는 값을 가지고 있어야 한다. 보통의 경우 정의되지 않은 변수를 사용하려고 하면 컴파일 에러를 내지만, 기본적으로는 각 변수들은 다음과 같은 기본 값을 가진다.

타 입 디폴트 값
bool FALSE
byte 0
char '\0'
decimal 0.0M
double 0.0D
enum 0
float 0.0F
int 0
long 0L
sbyte 0
short 0
struct 구조체안의 모든 타입은 그에 해당하는 디폴트 값으로 할당된다.
uint 0
ulong 0
ushort 0