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

ToDouble

将类型转换为double类型.

7

ToInt16

将类型转换为16位整数.

8

ToInt32

将类型转换为32位整数.

9

ToInt64

将类型转换为64位整数.

10

ToSbyte

将类型转换为带符号的字节类型.

11

ToSingle

转换a键入一个小的浮点数.

12

ToString

将类型转换为字符串.

13

ToType

将类型转换为指定类型.

14

ToUInt16

将类型转换为unsigned int类型.

15

ToUInt32

将类型转换为无符号长整型.

16

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