C#类型转换

类型转换可将一种类型的数据转换为另一种类型。它也被称为类型铸造。在 C# 中,类型转换有两种形式:

  • 隐式类型转换 - 这种类型的转换由 C# 以类型安全的方式执行。例如,从小到大的整数类型的转换和从派生类到基类的转换。
  • 显式类型转换 - 这种类型的转换由使用预定义函数的用户明确定义来完成,显式转换需要转换运算符。

以下示例显示了显式类型转换用法:

using System;
namespace TypeConversionApplication 
{
   class ExplicitConversion 
   {
      static void Main(string[] args) 
      {
         double d = 9999.98; 
         int i;

         // cast double to int.
         i = (int)d;
         Console.WriteLine(i);
         Console.ReadKey();
      }
   }
}

当编译和执行上述代码时,会产生以下结果:

9999

C# 类型转换方法

C# 提供以下内置类型转换方法:

序号 方法 描述
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() 将类型转换为小浮点数。
12 ToString() 将类型转换为字符串。
13 ToType() 将类型转换为指定的类型。
14 ToUInt16() 将类型转换为unsigned int类型。
15 ToUInt32() 将类型转换为unsigned double类型。
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

上一篇: C#数据类型 下一篇: C#常量和文字