由于总忘记,先写一下。
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方式,代码比较简介,一般不会出现报错的情况。(也可能是报错的,一般这种转换值,自己使用的时候,达不到溢出的值)