### **隐式转换** ##### **相同大类型** 一般都遵守 ==大的能装小的,小的装不了大的== 有符号(long int short sbyte) 无符号(ulong uint ushort byte) 浮点数(decimal double float) ==decimal没有办法隐式转换== 其他同规则 特殊类型(bool char string) ==不存在隐式转换== ##### 不同大类型 ==无符号不能隐式转换装有符号== 有符号装无符号需要==注意范围== int 不能装 uint (正方向少1) ==浮点数可以装任意类型的整数== ==decimal可以隐式存储整型== ==整数无法装浮点== ##### 整理 大范围装小范围 高精度装低精度 string 和 bool 不参与隐式转换 decimal比较特殊 char是ASCII所以可以转换成整型和浮点型 double > float > 所有整型 decimal > 所有整型 ### **显示转换** 1. 括号强转 1. 精度和范围(丢精度和溢出) 2. 语法:变量类型 变量名 = (变量类型)变量; 3. EG: double double1 = (double)int1; 2. Parse法(一般用来转换字符串到数字) 1. ==字符串必须能够转换为对应类型== 否则报错 2. 语法:变量类型.Parse("字符串") 3. EG: int int1 = int.Parse("123"); 3. Convert法 1. 注意点和Parse法一样,精度比强转准一点(有四舍五入) 2. 语法:Convert.To变量类型(变量或常量) 3. EG:int int1 = Conver.ToInt32("123") 4. 其他类型转String 1. 常用于拼接打印 2. 语法:变量.toString(); 3. EG: string str = 1.ToString(); / 'A'.ToString(); / true.ToString(); 4. 特殊用法string str = "123123" + 1.23 + True;(隐式调用ToString方法了) #入门