int a = 10;
double b = a;
提示:一种数据类型(类型 A),只要其取值范围完全包含在另一种数据类型(类型 B)的取值范围内,那么类型 A 就可以隐式转换为类型 B。基于这一特性,C# 的隐式类型转换不会导致数据丢失。
(type)value
的形式或者预定义函数显式的完成,显式转换需要用户明确的指定要转换的类型,而且在转换的过程中可能会造成数据丢失,例如将 double 类型转换为 int 类型。using System; namespace task.lmcjl.com{ class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // 将 double 类型转换为 int i = (int)d; Console.WriteLine("转换前{0},转换后{1}", d, i); Console.ReadKey(); } } }编译并执行上述代码,运行结果如下:
转换前5673.74,转换后5673
C# 中还提供了一系列内置的类型转换方法,如下表所示:方法 | 描述 |
---|---|
ToBoolean | 将类型转换为布尔型 |
ToByte | 将类型转换为字节类型 |
ToChar | 将类型转换为单个 Unicode 字符类型 |
ToDateTime | 将类型(整数或字符串类型)转换为日期时间的结构 |
ToDecimal | 将浮点型或整数类型转换为十进制类型 |
ToDouble | 将类型转换为双精度浮点型 |
ToInt16 | 将类型转换为 16 位整数类型 |
ToInt32 | 将类型转换为 32 位整数类型 |
ToInt64 | 将类型转换为 64 位整数类型 |
ToSbyte | 将类型转换为有符号字节类型 |
ToSingle | 将类型转换为小浮点数类型 |
ToString | 将类型转换为字符串类型 |
ToType | 将类型转换为指定类型 |
ToUInt16 | 将类型转换为 16 位无符号整数类型 |
ToUInt32 | 将类型转换为 32 位无符号整数类型 |
ToUInt64 | 将类型转换为 64 位无符号整数类型 |
using System; namespace task.lmcjl.com{ class StringConversion { static void Main(string[] args) { int i = 75; float f = 53.005; 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
本文链接:http://task.lmcjl.com/news/14294.html