写程序时,我经常会需要将字符串转换为数值类型,然后计算。类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 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





评论 (0)