类型转换简介
类型转换是指将一种类型的数据转换为另一种类型。这也被称为类型强制转换。在 C# 中,类型转换有两种形式:
隐式类型转换
这些转换是由 C# 以类型安全的方式自动完成的。例如,从小到大的整数类型转换,或者从派生类到基类的转换。
显式类型转换
这些转换是由用户使用预定义的函数显式完成的。显式转换需要一个类型转换操作符。
下面的例子展示了显式类型转换:
示例代码
using System;
namespace TypeConversionApplication {
class ExplicitConversion {
static void Main(string[] args) {
double d = 5673.74;
int i;
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
当上述代码被编译和执行时,它会产生以下结果:
5673
C# 类型转换方法
C# 提供了以下内置的类型转换方法:
-
ToBoolean - 将类型转换为布尔值,如果可能的话。
-
-
ToChar - 将类型转换为单一的 Unicode 字符,如果可能的话。
-
ToDateTime - 将类型(整数或字符串类型)转换为日期时间结构。
-
ToDecimal - 将浮点数或整数类型转换为十进制类型。
-
-
-
-
-
ToSbyte - 将类型转换为带符号的字节类型。
-
-
-
-
ToUInt16 - 将类型转换为无符号整数类型。
-
ToUInt32 - 将类型转换为无符号长整数类型。
-
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