由于总忘记,先写一下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Console.WriteLine( "输出转换空结果 ={0}" , Convert.ToInt32( "" )); //Convert.ToInt32是不允许转换“”空值的,会报错 Console.WriteLine( "输出转换null结果={0}" , Convert.ToInt32( null )); //Convert.ToInt32允许传入null参数转换,结果为0 Console.WriteLine( "输出转换字母非数字结果={0}" , Convert.ToInt32( "12" )); //正常操作 Console.WriteLine( "输出转换字母非数字结果={0}" , Convert.ToInt32( "12ab" )); //转换非数字,则直接报错 var aa= "10" ; int bb; int .TryParse(aa, out bb); Console.WriteLine(bb); //结果显示10,运行正常 aa= "abc" ; //特殊字符等非正常数字,或者12aa类型,结果都是0 //显示0,运行正常 var aa = ( int .MaxValue+1).ToString(); //超出范围的时候,程序会顺利运行,但是是有错误产生的。而且,显示的值是上一次的运算结果,即之前的一次计算结果是0则是0,是1则是1。 //所以如果存在溢出这种情况,还是得仔细辨别一下。 //错误 1 在 checked 模式下,运算在编译时溢出 Projects1111getimageProgram.cs |
一般涉及到int类型转换,个人感觉还是使用int.TrayParse方式,代码比较简介,一般不会出现报错的情况。(也可能是报错的,一般这种转换值,自己使用的时候,达不到溢出的值)