C# Prase转换 & Convert 转换
Prase转换:它将字符串转换为其他的类型(是1个加工改造过程)
语法:什么类型.Prase()
定义1个对应的类型的变量来接收这句代码的结果,就可以得到转换成功后的数据。
需要注意的细节:
a、只能将字符串转换为其他的类型。Prase的小括弧中只能是字符串。
b、什么时候可以转换成功?
当字符串的字面量是1个指定类型的时候,那么这个时候就可以将字符串通过prase转换为这个类型。(字面量:字符串去掉双引号的部分)
Convert 转换
A、是1个万能转换。因为它可以做自动类型转换的事情、强制转换的事情、Parse转换的事情、其他的转换。
B、语法:
要转换为什么类型就 Convert.To什么类型(待转换的数据);然后声明1个对应的类型的变量来接收这句代码转换成功以后的数据。
需要注意的是:
- 如果要转int类型,就转成Int32。如果要转long类型就转成Int64。如果要转short类型就转成Int16.
- 如果要转float就转成Single。
- 其他的类型就直接To就可以了。
转换间的区别
1、Convert转换做自动类型转换的时候和自动转换的语法的区别:
- 没有任何的区别。
2、做强制转换的时候和强制转换的语法的区别:
- 当强制转换成功的时候,这个时候没有任何区别。
- 当发生溢出的情况的时候,强制转换的语法不会报错,并保存溢出的部分。Convert转换如果发生溢出,运行报错。
- 当将浮点型强制转换为整型的时候,使用强制转换的语法会去掉小数的部分。使用Convert转换会做四舍五入。只有大于0.5的时候才会入,小于等于0.5舍。
3、转换字符串的时候与Parse转换的区别:
- 当Convert转换字符串的时候,其内部就是调用了Parse方法。效果跟Parse转是一样的。
- 唯一的区别:当字符串的值为null的时候,Convert转换得到0,Parse转换报异常。
4、其他的转换。
- 根据意义来转换的。False代表0,true代表1.
- 自动/强制转换是内存意义上的转换.
- Parse转换与Convert转换是数据意义的转换.
5、Parse与Convert的区别:
- Parse只能转换字符串类型的.
- Convert 可以转换任意类型的.
- 当他们都转换字符串的时候,Convert其实内部就是调用了Parse转换.只不过在调用之前判断了字符串的值如果是null,就返回0,而Parse转换如果是null 就报异常.