Convert.ToInt32( null or "")

本文详细探讨了C#中整数类型转换的各种方法及其注意事项,包括直接转换与TryParse方法的区别,以及在处理非标准输入时的行为表现。通过具体实例展示了如何避免常见的转换错误。

由于总忘记,先写一下。

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 模式下,运算在编译时溢出    Projects\1111\getimage\Program.cs

 

一般涉及到int类型转换,个人感觉还是使用int.TrayParse方式,代码比较简介,一般不会出现报错的情况。(也可能是报错的,一般这种转换值,自己使用的时候,达不到溢出的值)

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值