Built-in 데이터 타입
C#에서 제공하는 데이터 타입은 밑의 표에 적혀있다. 뒤에 나올 표들의 각 C# 키워드로 데이터타입을 표현할 수 있다.
Type의 범주는 다음과 같이 두 개로 나뉜다.
- Value type(값 형식)
- Reference type(참조 형식)
이 두 가지의 형식차이는 상당히 큰 차이가 있는데, 이것은 다른 곳에서 다루기로 한다.
Built-in value types
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
'C#' 카테고리의 다른 글
[C#] 제너릭 메소드 (0) | 2024.10.06 |
---|---|
[C#] CS0273에러 accessor must be more restrictive than the property or indexer (1) | 2024.09.25 |
[C#] 변수 (0) | 2023.01.04 |
[C#] Boxing과 Unboxing에 대하여 (0) | 2021.08.08 |
[Unity, C#] 중첩 클래스(Nested Class) (0) | 2021.05.02 |