산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# 타입 변환 이해하기: 암시적 & 명시적 캐스팅 완벽 가이드

타입 변환(Type Conversion)은 한 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말합니다. 이는 타입 캐스팅(Type Casting)이라고도 불립니다. C#에서 타입 캐스팅은 두 가지 형태로 나뉩니다.

암시적 타입 변환 (Implicit Type Conversion)

이 변환은 C#이 타입 안전하게 자동으로 수행합니다. 예를 들어, 더 작은 정수 타입에서 더 큰 정수 타입으로의 변환이나 파생 클래스에서 기본 클래스로의 변환이 이에 해당합니다. 데이터 손실이 발생하지 않기 때문에 별도의 문법 없이 자연스럽게 이루어집니다.

명시적 타입 변환 (Explicit Type Conversion)

이 변환은 사용자가 미리 정의된 함수나 캐스트 연산자를 사용하여 명시적으로 수행합니다. 데이터 손실이 발생할 수 있는 경우(예: double을 int로 변환)에 필요하며, 캐스트 연산자 (타입)을 사용해야 합니다.

명시적 타입 변환 예제

using System;

namespace TypeConversionApplication
{
    class ExplicitConversion
    {
        static void Main(string[] args)
        {
            double d = 5673.74;
            int i;
            
            // double을 int로 캐스팅 (소수점 이하 버림)
            i = (int)d;
            Console.WriteLine(i);  // 출력: 5673
            Console.ReadKey();
        }
    }
}

C# 기본 제공 타입 변환 메서드

C#은 Convert 클래스를 통해 다양한 내장 타입 변환 메서드를 제공합니다. 주요 메서드는 다음과 같습니다.

번호 메서드 및 설명
1ToBoolean
가능한 경우 타입을 불리언 값으로 변환합니다.
2ToByte
타입을 바이트로 변환합니다.
3ToChar
가능한 경우 타입을 단일 유니코드 문자로 변환합니다.
4ToDateTime
타입(정수 또는 문자열)을 날짜-시간 구조체로 변환합니다.
5ToDecimal
부동소수점 또는 정수 타입을 decimal 타입으로 변환합니다.
6ToDouble
타입을 double 타입으로 변환합니다.
7ToInt16
타입을 16비트 정수로 변환합니다.
8ToInt32
타입을 32비트 정수로 변환합니다.
9ToInt64
타입을 64비트 정수로 변환합니다.
10ToSByte
타입을 부호 있는 바이트 타입으로 변환합니다.
11ToSingle
타입을 단정도 부동소수점 숫자로 변환합니다.
12ToString
타입을 문자열로 변환합니다.
13ToType
타입을 지정된 타입으로 변환합니다.
14ToUInt16
타입을 부호 없는 16비트 정수로 변환합니다.
15ToUInt32
타입을 부호 없는 32비트 정수로 변환합니다.
16ToUInt64
타입을 부호 없는 64비트 정수로 변환합니다.

문자열 변환 예제

using System;

namespace TypeConversionApplication
{
    class StringConversion
    {
        static void Main(string[] args)
        {
            int i = 75;
            float f = 53.005f;
            double d = 2345.7652;
            bool b = true;
            
            Console.WriteLine(i.ToString());   // "75"
            Console.WriteLine(f.ToString());   // "53.005"
            Console.WriteLine(d.ToString());   // "2345.7652"
            Console.WriteLine(b.ToString());   // "True"
            Console.ReadKey();
        }
    }
}

핵심 포인트: 암시적 변환은 안전할 때 자동으로 일어나지만, 명시적 변환은 개발자의 의도적 확인과 캐스트 연산자가 필요합니다. Convert 클래스 메서드는 런타임 검증과 예외 처리가 포함되어 더 안전하게 사용할 수 있습니다.

C 언어

  1. C# 타입 변환 마스터하기: 암시적, 명시적, Parse, Convert 메서드
  2. 파이썬 타입 변환 & 캐스팅 마스터하기: 종합 가이드
  3. Python 숫자, 형 변환, 수학 마스터하기
  4. Java 타입 캐스팅 마스터하기: 자동 형변환부터 명시적 형변환까지
  5. 자바 제네릭 마스터하기: 정렬 단순화와 타입 안전성 강화
  6. ASTM A1018 CS Type B 저탄소강 사양 및 물성 데이터
  7. ASTM A424 Type II 강종 사양 및 성능 데이터
  8. ASTM A424 Type I 강종 주요 물성 및 성능
  9. ASTM A792 CS Type A 강종 – 상세 물성치 및 사양
  10. ASTM A53 Grade A Type E 강관 – 사양 및 주요 특성