Energy
education

сайт для тех, кто хочет изучать энергетику

4. Преобразование типов

Преобразование типа это изменение типа данных, или преобразования данных одного типа к другому типу. В 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();
            
        }
    }
}
    

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

    
5673
    

Методы преобразования типов в C#

C# предоставляет следующие встроенные методы преобразования типов:

Методы и описание
1ToBoolean
Преобразует тип в логическое значение, когда это возможно.
2ToByte
Преобразует тип в byte.
3ToChar
Преобразует тип в одиночный символ Unicode, когда это возможно.
4ToDateTime
Преобразует тип (integer или string) в структуру date-time.
5ToDecimal
Преобразует floating point или integer в тип decimal.
6ToDouble
Преобразует тип в тип double.
7ToInt16
Преобразует тип в 16-bit integer.
8ToInt32
Преобразует тип в 32-bit integer.
9ToInt64
Преобразует тип в 64-bit integer.
10ToSbyte
Преобразует тип в тип signed byte.
11ToSingle
Преобразует тип в небольшое число floating point.
12ToString
Преобразует тип в строку.
13ToType
Преобразует тип в определенный тип.
14ToUInt16
Преобразует тип в тип unsigned int.
15ToUInt32
Преобразует тип в тип unsigned long.
16ToUInt64
Преобразует тип в тип unsigned big integer.

В следующем примере различные типы значений преобразуются в тип строка:

    
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();
            
        }
    }
}
    

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

    
75
53.005
2345.7652
True