ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# C# 类型转换 类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式: * **隐式类型转换** - 这些转换是 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# 提供了下列内置的类型转换方法: | 方法 | 描述 | | --- | --- | | **ToBoolean** | 如果可能的话,把类型转换为布尔型。 | | **ToByte** | 把类型转换为字节类型。 | | **ToChar** | 如果可能的话,把类型转换为单个 Unicode 字符类型。 | | **ToDateTime** | 把类型(整数或字符串类型)转换为 日期-时间 结构。 | | **ToDecimal** | 把浮点型或整数类型转换为十进制类型。 | | **ToDouble** | 把类型转换为双精度浮点型。 | | **ToInt16** | 把类型转换为 16 位整数类型。 | | **ToInt32** | 把类型转换为 32 位整数类型。 | | **ToInt64** | 把类型转换为 64 位整数类型。 | | **ToSbyte** | 把类型转换为有符号字节类型。 | | **ToSingle** | 把类型转换为小浮点数类型。 | | **ToString** | 把类型转换为字符串类型。 | | **ToType** | 把类型转换为指定类型。 | | **ToUInt16** | 把类型转换为 16 位无符号整数类型。 | | **ToUInt32** | 把类型转换为 32 位无符号整数类型。 | | **ToUInt64** | 把类型转换为 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 ```