English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# базовый курс

C# продвинутый курс

C#面向对象(OOP)

Типы преобразования C#

Конверсия типов по сути является типовой трансформацией, или说是 преобразование данных из одного типа в другой. В 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# типы преобразования

C# предоставляет следующие内置的类型转换方法:

НомерМетод & Описание
1ToBoolean
Если возможно, преобразовать тип в булевый тип:
2ToByte
Преобразовать тип в тип байта:
3ToChar
Если возможно, преобразовать тип в тип единичного Unicode-символа:
4ToDateTime
Преобразовать тип (целочисленный или строковый тип) в структуру Дата-Время:
5ToDecimal
Преобразовать плавающий или целочисленный тип в десятичный тип:
6ToDouble
Преобразовать тип в двойную плавающую точку:
7ToInt16
Преобразовать тип в 16-битное целое:
8ToInt32
Преобразовать тип в 32-битное целое:
9ToInt64
Преобразовать тип в 64-битное целое:
10ToSbyte
Преобразовать тип в знаковое байт:
11ToSingle
Преобразовать тип в тип малой плавающей точки:
12ToString
Преобразовать тип в строковый тип:
13ToType
Преобразовать тип в указанный тип:
14ToUInt16
Преобразовать тип в 16-битное беззнаковое целое:
15ToUInt32
Преобразовать тип в 32-битное беззнаковое целое:
16ToUInt64
Преобразовать тип в 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