C#/C# 강좌

C# 강좌 - 타입 캐스팅 (Type Casting)

DragonTory 2023. 2. 19. 10:55
반응형

C# 강좌 - 타입 캐스팅 (Type Casting)


C# 형식 캐스팅은 한 데이터 형식의 값을 다른 데이터 형식으로 변환하는 프로세스입니다.

여기에는 두 가지 형식 캐스팅이 있습니다.

  • 암시적 캐스팅 (implicit casting)
  • 명시적 캐스팅 (explicit casting).


확대 변환이라고도 하는 암시적 캐스팅은 더 작은 데이터 유형의 값을 더 큰 데이터 유형으로 자동 변환하는 것입니다.
예를 들어 int를 long으로 변환합니다.

암시적 캐스팅에는 특별한 구문이 필요하지 않습니다.

축소 변환이라고도 하는 명시적 캐스팅은 더 큰 데이터 유형의 값을 더 작은 데이터 유형으로 수동 변환하는 것입니다.
예를 들어 double을 int로 변환합니다.

명시적 캐스팅에는 캐스팅 연산자를 사용해야 하며 데이터가 손실될 수 있습니다.

다음은 C#에서 암시적 캐스팅의 예입니다.

int num1 = 5;
long num2 = num1; // implicit casting


다음은 C#에서 명시적 캐스팅의 예입니다.

double num1 = 5.6;
int num2 = (int)num1; // explicit casting

 

 

C# 타입 변환 방법


C#은 값을 한 형식에서 다른 형식으로 변환하는 몇 가지 캐스팅 방법을 제공합니다.

이러한 메서드는 System 네임스페이스에 정의되며 다음과 같습니다.

  • Convert.ToByte(): 값을 바이트로 변환합니다.
  • Convert.ToInt16(): 값을 16비트 정수로 변환합니다.
  • Convert.ToInt32(): 값을 32비트 정수로 변환합니다.
  • Convert.ToInt64(): 값을 64비트 정수로 변환합니다.
  • Convert.ToSingle(): 값을 단정밀도 부동 소수점 숫자로 변환합니다.
  • Convert.ToDouble(): 값을 배정밀도 부동 소수점 숫자로 변환합니다.
  • Convert.ToDecimal(): 값을 십진수로 변환합니다.
  • Convert.ToString(): 값을 문자열로 변환합니다.


다음은 Convert.ToInt32() 메서드를 사용하여 문자열을 정수로 변환하는 예입니다.

string strNum = "123";
int intNum = Convert.ToInt32(strNum);

이 예제에서 문자열 "123"은 Convert.ToInt32() 메서드를 사용하여 정수로 변환됩니다.

결과 값은 변수 intNum에 할당됩니다.

입력 문자열을 정수로 변환할 수 없는 경우 메서드에서 예외가 발생합니다.

또한 ToString() 메서드를 사용하여 정수를 문자열로 변환할 수 있습니다.
이 메서드는 int를 포함한 모든 숫자 유형에 대해 정의됩니다.

int num = 42;
string strNum = num.ToString();

이 예제에서 정수 값 42는 ToString() 메서드를 사용하여 문자열로 변환됩니다.
결과 값은 변수 strNum에 할당됩니다.

C# Parse() 메소드를 사용한 C# 유형 변환


C#은 값을 한 형식에서 다른 형식으로 변환하는 형식 변환 메서드를 제공합니다.
이러한 메서드는 System 네임스페이스에서 제공하며 다음과 같습니다.

  • bool.Parse():   부울 값의 문자열 표현을 부울 값으로 변환합니다.
  • int.Parse():   숫자의 문자열 표현을 해당하는 정수로 변환합니다.
  • double.Parse():   숫자의 문자열 표현을 해당하는 배정밀도 부동 소수점으로 변환합니다.
  • float.Parse():   숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점으로 변환합니다.
  • decimal.Parse():   숫자의 문자열 표현을 해당하는 10진수로 변환합니다.
  • bool.TryParse():   부울 값의 문자열 표현을 상응하는 부울 값으로 변환하려고 시도하고 변환 성공 여부를 나타내는 부울 값을 반환합니다.
  • int.TryParse():   숫자의 문자열 표현을 해당하는 정수로 변환하려고 시도하고 변환 성공 여부를 나타내는 부울 값을 반환합니다.
  • double.TryParse():   숫자의 문자열 표현을 동등한 배정밀도 부동 소수점으로 변환하려고 시도하고 변환 성공 여부를 나타내는 부울 값을 반환합니다.
  • float.TryParse():   숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점으로 변환하려고 시도하고 변환 성공 여부를 나타내는 부울 값을 반환합니다.
  • decimal.TryParse():   숫자의 문자열 표현을 해당하는 10진수로 변환하려고 시도하고 변환 성공 여부를 나타내는 부울 값을 반환합니다.

다음은 int.Parse() 메서드를 사용하여 문자열을 정수로 변환하는 예입니다.

string strNum = "123";
int intNum = int.Parse(strNum);

이 예제에서 문자열 "123"은 int.Parse() 메서드를 사용하여 정수로 변환됩니다.
결과 값은 변수 intNum에 할당됩니다.

입력 문자열을 정수로 변환할 수 없는 경우 메서드에서 예외가 발생합니다.

반응형

'C# > C# 강좌' 카테고리의 다른 글

C# 강좌 - 문자열 (String)  (1) 2023.02.19
C# 강좌 - Nullable 타입  (0) 2023.02.19
C# 강좌 - 연산자 (Operators)  (0) 2023.02.19
C# 강좌 - 상수 (Constants)  (0) 2023.02.19
C# 강좌 - 변수  (0) 2023.02.18