**
C#类型转换
**
C#中的类型转换就是把一种类型转换成另外一种类型,C#中转换类型有两种方式:
隐式转换类型:是C#中默认的以安全的方式转换,不会导致数据丢失,就比如从小的整数类型转换成大的整数类型,从派生类转换成基类。
显式类型转换:显式类型转换,就是强制类型转换。显式转换需要强制转换运算符,而且强制转换有极大可能会造成数据丢失。
下面的代码显示了一个显式的类型转换:
namespace zhuanhuan
{
class Program
{
static void Main(string[] args)
{
double s = 7821.64;
int i;
//强制转换 double 为 int
i = (int)s;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
代码执行后会产生如下结果:
小数点后的两位数就被吃掉了。数据丢失
C# 类型转换方法
C# 提供了下列内置的类型转换方法:
ToBoolean:如果可能的话,把类型转换为布尔型。
ToByte:把类型转换为字节类型。
ToChar:如果可能的话,把类型转换为单个 Unicode 字符类型。
ToDateTime:把类型(整数或字符串类型)转换为 日期-时间 结构。
ToDecimal:把浮点型或整数类型转换为十进制类型。
ToDouble:把类型转换为双精度浮点型。
ToInt16 32 64:分别把类型转换为 16 32 64位整数类型。
ToSbyte:把类型转换为有符号字节类型。
ToSingle:把类型转换为小浮点数类型。
ToString:把类型转换为字符串类型。
ToType:把类型转换为指定类型。
ToUInt16 32 64:分别把类型转换为 16 32 64位无符号整数类型。
下面的代码把不同值的类型转换为字符串类型:
namespace zhuanhuan
{
class Program
{
static void Main(string[] args)
{
int i = 80;
float f = 53.015f;
double d = 2345.1568;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}
当上面的代码被编译和执行时,它会产生下列结果: