C# 中(int)、int.Parse()、int.TryParse、Convert.ToInt32数据转换注意事项


C#中有些数据类型可以转换的,如int型转换成double。

隐私转换就是可以直接赋值,源数据前不用类型转换符,

如:

int i = 2;

double d = 3.0001;

d = i;

显示转换就是 显示使用类型转换符。

i = (int)d;

1、(int)是一种类型转换;当我们从int类型到long,float,double,decimal类型,可以使用隐式转换,但是当我们从 long类型到int类型就需要使用显式转换,否则会产生编译错误。



2、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。

    如果字符串为空,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException 异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;



3、int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0。



4、Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数; 比较:Convert.ToInt32 参数为 null 时,返回 0;

    int.Parse 参数为 null 时,抛出异常。    Convert.ToInt32 参数为 "" 时,抛出异常;  int.Parse 参数为 "" 时,抛出异常。   Convert.ToInt32 可以转换的类型较多; int.Parse 只能转换数字类型的字符串。


你可能感兴趣的:(C++,c,C#)