59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
|
|
### **隐式转换**
|
||
|
|
##### **相同大类型**
|
||
|
|
一般都遵守 ==大的能装小的,小的装不了大的==
|
||
|
|
|
||
|
|
有符号(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方法了)
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#入门
|