Files
2026-04-13 15:40:15 +08:00

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方法了)
#入门