English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 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# 提供了下列内置的类型转换方法:
序号 | 方法 & 描述 |
---|---|
1 | ToBoolean 如果可能的话,把类型转换为布尔型。 |
2 | ToByte 타입을 바이트 타입으로 변환하다. |
3 | ToChar 가능하다면, 타입을 단일 Unicode 문자 타입으로 변환하다. |
4 | ToDateTime 타입(정수 타입이나 문자열 타입)을 날짜로 변환하다.-시간 구조. |
5 | ToDecimal 부호 있는 실수 타입이나 정수 타입을 십진 타입으로 변환하다. |
6 | ToDouble 타입을 더블 정밀도 부호 있는 실수 타입으로 변환하다. |
7 | ToInt16 타입을 변환하다 16 비트 정수 타입. |
8 | ToInt32 타입을 변환하다 32 비트 정수 타입. |
9 | ToInt64 타입을 변환하다 64 비트 정수 타입. |
10 | ToSbyte 타입을 부호 있는 바이트 타입으로 변환하다. |
11 | ToSingle 타입을 소수점 타입으로 변환하다. |
12 | ToString 타입을 문자열 타입으로 변환하다. |
13 | ToType 타입을 지정된 타입으로 변환하다. |
14 | ToUInt16 타입을 변환하다 16 비트 unsigned 정수 타입. |
15 | ToUInt32 타입을 변환하다 32 비트 unsigned 정수 타입. |
16 | ToUInt64 타입을 변환하다 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