English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Конверсия типов по сути является типовой трансформацией, или说是 преобразование данных из одного типа в другой. В C# есть два типа трансформации:
Тайная конверсия типов - Эти преобразования являются defaultValue для 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-битное беззнаковое целое: |
15 | ToUInt32 Преобразовать тип в 32-битное беззнаковое целое: |
16 | ToUInt64 Преобразовать тип в 64-битное беззнаковое целое: |
Ниже приведен пример преобразования различных типов в строковый тип:
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