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# 提供以下内置类型转换方法:

序号 方法和描述
1

ToBoolean

尽可能将类型转换为布尔值。

2

ToByte

将类型转换为字节。

3

ToChar

尽可能将类型转换为单个 Unicode 字符。

4

ToDateTime

将类型(整数或字符串类型)转换为日期时间结构。

5

ToDecimal

将浮点数或整型转换为十进制类型。

6

ToDouble

将类型转换为双精度类型。

7

ToInt16

将类型转换为 16 位整数。

8

ToInt32

将类型转换为 32 位整数。

9

ToInt64

将类型转换为 64 位整数。

10

ToSbyte

将类型转换为带符号字节类型。

11

ToSingle

将类型转换为单精度浮点数。

12

ToString

将类型转换为字符串。

13

ToType

将类型转换为指定类型。

14

ToUInt16

将类型转换为无符号整数类型。

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
广告