[C#] 데이터 타입

Artiper
|2023. 1. 5. 02:07

Built-in 데이터 타입

C#에서 제공하는 데이터 타입은 밑의 표에 적혀있다. 뒤에 나올 표들의 각 C# 키워드로 데이터타입을 표현할 수 있다.

 

Type의 범주는 다음과 같이 두 개로 나뉜다.

  1. Value type(값 형식)
  2. Reference type(참조 형식)

이 두 가지의 형식차이는 상당히 큰 차이가 있는데, 이것은 다른 곳에서 다루기로 한다.

 

Built-in value types

C# type keyword .Net Type
bool System.Boolean
byte System.Byte
sbyte System.SByte
char System.Char
decimal System.Decimal
double System.Double
float System.Single
int System.Int32
uint System.UInt32
nint System.IntPtr
nuint System.UIntPtr
long System.Int64
ulong System.UInt64
short System.Int16
ushort System.UInt16

 

Built-in reference type

C# type keyword .Net Type
object System.Object
string System.String
dynamic System.Object

 

위 테이블에서 표의 왼쪽 열에 해당되는 각 C# type keyword는 .NET type의 또 다른 이름인 alias이다(dynamic을 제외하고). 이것들은 서로 교환하여 사용할 수 있다. 예를 들어 다음 선언은 동일한 타입의 변수를 선언한다.

int a = 123;
System.Int32 b = 123;

 

 C#을 포함한 모든 .NET 프로그래밍 언어는 .NET의 Common Type System에 정의된 .NET 데이타 타입을 사용한다. C#은 int, double, string 과 같은 C# 키워드로 데이타 타입을 표현할 수 있으며, 또한 System.Int32, System.Double, System.String 과 같은 .NET 데이타 클래스로 데이타 타입을 표현할 수도 있다. 내부적으로는 C# 컴파일러는 C# 키워드로 된 데이타 타입을 컴파일 후 .NET 데이터 타입으로 변경하게 된다.

 

(C#, F#, VB 등 CLS를 따르는 언어라면 어떤 언어라도 닷넷 프레임워크라는 큰 윈도우 프로그램 개발 및 실행환경에서 실행할 수 있다. 그래서 C#에서 bool이라고 키워드를 사용할지라도 .NET 데이터 타입으로 변경하게 된다.)

 

 

 

 

 

 

http://www.csharpstudy.com/CSharp/CSharp-variable.aspx

https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/built-in-types