1.6 KiB
1.6 KiB
隐式转换
相同大类型
一般都遵守 ==大的能装小的,小的装不了大的==
有符号(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 > 所有整型
显示转换
-
括号强转
- 精度和范围(丢精度和溢出)
- 语法:变量类型 变量名 = (变量类型)变量;
- EG: double double1 = (double)int1;
-
Parse法(一般用来转换字符串到数字)
- ==字符串必须能够转换为对应类型== 否则报错
- 语法:变量类型.Parse("字符串")
- EG: int int1 = int.Parse("123");
-
Convert法
- 注意点和Parse法一样,精度比强转准一点(有四舍五入)
- 语法:Convert.To变量类型(变量或常量)
- EG:int int1 = Conver.ToInt32("123")
-
其他类型转String
- 常用于拼接打印
- 语法:变量.toString();
- EG: string str = 1.ToString(); / 'A'.ToString(); / true.ToString();
- 特殊用法string str = "123123" + 1.23 + True;(隐式调用ToString方法了)
#入门