下面我们使用数据类型转换的部分,下面我们来看例子
- 隐式转换:(1)同大类数据类型,从低范围转向高范围
byte myByte = 1; //Byte 8位无符号整数
int myInt = myByte; //int 32位有符号的整数
Console.WriteLine("转换前数据是{0}, 转换后的数据是{1}", myByte, myInt);
输出结果:转换前数据是1, 转换后的数据是1
- 隐式转换:(2)数据类型兼容性转换
char myChar = 'a'; // char Unicode 字符
myInt = myChar;
Console.WriteLine("转换前数据是{0}, 转换后的数据是{1}", myChar, myInt);
输出结果:转换前数据是a, 转换后的数据是97
- 显示强制转换格式: (转换后的数据类型)数据或变量
//一般用于同大类数据类型,从高范围转向低范围;存在转换溢出(不成功)
long myLong = 11223344; // long 64位有符号的整数
myInt = (int)myLong; //强制转换
Console.WriteLine("转换成功》 转换前myLong是{0},转换后myInt是{1}", myLong, myInt);
myLong = 122233445566778899;
myInt = (int)myLong;
Console.WriteLine("转换不成功》转换前myLong是{0},转换后的myInt是{1}", myLong, myInt);
输出结果:转换成功》 转换前myLong是11223344,转换后myInt是11223344
转换不成功》 转换前myLong是122233445566778899,转换后的myInt是-827453933
- 简单数据类型的万能转换类convert;
myInt = Convert.ToInt32(myString);
Console.WriteLine("万能转换类convert》转换前myLong是{0},转换后myChar是{1}", myInt, myString);
//数值数据类型的自身转换函数Parse,被转换的是字符串格式
myString = "112233";
myInt = int.Parse(myString);
Console.WriteLine("转换成功》 转换前myInt是{0},转换后myString是{1}", myInt, myString);
输出结果: 万能转换类convert》转换前myLong是112233,转换后myChar是112233
转换成功》 转换前myInt是112233,转换后myString是112233
-
受支持的基类型是 Boolean、 Char、 SByte、Byte、 Int16、 Int32、 Int64、UInt16、UInt32、 UInt64、 Single、 Double、Decimal、 DateTime 和 String.
-
类convert不负责检测是否转换成功