English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# 타입 변환

类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:

  • 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。

  • 显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

下面的示例显示了一个显式的类型转换:

온라인 예제

namespace TypeConversionApplication
{
    class ExplicitConversion
    {
        static void Main(string[] args)
        {
            double d = 5673.74;
            int i;
            // 强制转换 double 为 int
            i = (int)d;
            Console.WriteLine(i);
            Console.ReadKey();
            
        }
    }
}

위의 코드가 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다:

5673

C# 类型转换方法

C# 提供了下列内置的类型转换方法:

序号方法 & 描述
1ToBoolean
如果可能的话,把类型转换为布尔型。
2ToByte
타입을 바이트 타입으로 변환하다.
3ToChar
가능하다면, 타입을 단일 Unicode 문자 타입으로 변환하다.
4ToDateTime
타입(정수 타입이나 문자열 타입)을 날짜로 변환하다.-시간 구조.
5ToDecimal
부호 있는 실수 타입이나 정수 타입을 십진 타입으로 변환하다.
6ToDouble
타입을 더블 정밀도 부호 있는 실수 타입으로 변환하다.
7ToInt16
타입을 변환하다 16 비트 정수 타입.
8ToInt32
타입을 변환하다 32 비트 정수 타입.
9ToInt64
타입을 변환하다 64 비트 정수 타입.
10ToSbyte
타입을 부호 있는 바이트 타입으로 변환하다.
11ToSingle
타입을 소수점 타입으로 변환하다.
12ToString
타입을 문자열 타입으로 변환하다.
13ToType
타입을 지정된 타입으로 변환하다.
14ToUInt16
타입을 변환하다 16 비트 unsigned 정수 타입.
15ToUInt32
타입을 변환하다 32 비트 unsigned 정수 타입.
16ToUInt64
타입을 변환하다 64 비트 unsigned 정수 타입.

다음 예제는 다른 값을 타입으로 변환하는 방법을 설명합니다:

온라인 예제

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());
            Console.WriteLine(f.ToString());
            Console.WriteLine(d.ToString());
            Console.WriteLine(b.ToString());
            Console.ReadKey();
            
        }
    }
}

위의 코드가 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다:

75
53.005
2345.7652
True