Преобразование типов — это преобразование данных одного типа в другой тип. Это также известно как Кастинг Типа. В C # приведение типов имеет две формы:
-
Неявное преобразование типов — эти преобразования выполняются в C # безопасным для типов образом. Например, это преобразования из меньших целых типов в большие и преобразования из производных классов в базовые классы.
-
Явное преобразование типов — эти преобразования выполняются явно пользователями, использующими предопределенные функции. Явные преобразования требуют оператора приведения.
Неявное преобразование типов — эти преобразования выполняются в C # безопасным для типов образом. Например, это преобразования из меньших целых типов в большие и преобразования из производных классов в базовые классы.
Явное преобразование типов — эти преобразования выполняются явно пользователями, использующими предопределенные функции. Явные преобразования требуют оператора приведения.
В следующем примере показано явное преобразование типов —
using System; namespace TypeConversionApplication { class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // cast double to int. i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
5673
Методы преобразования типов в C #
C # предоставляет следующие встроенные методы преобразования типов —
Sr.No. | Методы и описание |
---|---|
1 |
ToBoolean Преобразует тип в логическое значение, где это возможно. |
2 |
ToByte Преобразует тип в байт. |
3 |
TOCHAR Преобразует тип в один символ Unicode, где это возможно. |
4 |
ToDateTime Преобразует тип (целочисленный или строковый тип) в структуры даты и времени. |
5 |
ToDecimal Преобразует тип с плавающей запятой или целочисленный в десятичный тип. |
6 |
Удвоить Преобразует тип в двойной тип. |
7 |
ToInt16 Преобразует тип в 16-разрядное целое число. |
8 |
ToInt32 Преобразует тип в 32-разрядное целое число. |
9 |
ToInt64 Преобразует тип в 64-разрядное целое число. |
10 |
ToSbyte Преобразует тип в тип байта со знаком. |
11 |
ToSingle Преобразует тип в небольшое число с плавающей запятой. |
12 |
Нанизывать Преобразует тип в строку. |
13 |
Печатать Преобразует тип в указанный тип. |
14 |
ToUint16 Преобразует тип в тип unsigned int. |
15 |
ToUint32 Преобразует тип в длинный тип без знака. |
16 |
ToUInt64 Преобразует тип в целое число без знака. |
ToBoolean
Преобразует тип в логическое значение, где это возможно.
ToByte
Преобразует тип в байт.
TOCHAR
Преобразует тип в один символ Unicode, где это возможно.
ToDateTime
Преобразует тип (целочисленный или строковый тип) в структуры даты и времени.
ToDecimal
Преобразует тип с плавающей запятой или целочисленный в десятичный тип.
Удвоить
Преобразует тип в двойной тип.
ToInt16
Преобразует тип в 16-разрядное целое число.
ToInt32
Преобразует тип в 32-разрядное целое число.
ToInt64
Преобразует тип в 64-разрядное целое число.
ToSbyte
Преобразует тип в тип байта со знаком.
ToSingle
Преобразует тип в небольшое число с плавающей запятой.
Нанизывать
Преобразует тип в строку.
Печатать
Преобразует тип в указанный тип.
ToUint16
Преобразует тип в тип unsigned int.
ToUint32
Преобразует тип в длинный тип без знака.
ToUInt64
Преобразует тип в целое число без знака.
В следующем примере различные типы значений преобразуются в строковый тип —
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()); Console.WriteLine(f.ToString()); Console.WriteLine(d.ToString()); Console.WriteLine(b.ToString()); Console.ReadKey(); } } }
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —