Unetway

C # - Преобразование типа

Преобразование типов преобразует один тип данных в другой тип. Он также известен как Type Casting. В 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 # предоставляет следующие встроенные методы преобразования типов -

ToBoolean Преобразует тип в значение Boolean, где это возможно.
ToByte Преобразует тип в байт.
ToChar Преобразует тип в один символ Unicode, где это возможно.
ToDateTime Преобразует тип (целочисленный или строковый тип) в структуры даты и времени.
ToDecimal Преобразует тип с плавающей точкой или целочисленным типом в десятичный тип.
ToDouble Преобразует тип в двойной тип.
ToInt16 Преобразует тип в 16-разрядное целое.
ToInt32 Преобразует тип в 32-разрядное целое.
ToInt64 Преобразует тип в 64-разрядное целое.
ToSbyte Преобразует тип в тип подписанного байта.
ToSingle Преобразует тип в небольшое число с плавающей запятой.
ToString Преобразует тип в строку.
ToType Преобразует тип в указанный тип.
ToUInt16 Преобразует тип в неподписанный тип 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();
            
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

75
53.005
2345.7652
True