C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

conclusion

  • int.TryParse 与 int.Parse类似 同样不能转换double类型 不能转换null值等, 但是TryParse不抛出异常而是返回true Or false 告知结果,使得程序能继续运行。 Parse抛出异常 使得程序无法继续运行。
  • Convert.ToInt32与int强转类似 只是Convert会进行四舍五入,而int直接截断取值。

    详细的 唯有官方看吧 api文档

test

  • 转换null
int c = int.Parse(null);
//结果:抛出异常 转换对象不能为NULL 无法继续运行。
int b; bool value = int.TryParse(null, out b); 
//结果: value为false b为0 。
int a = Convert.ToInt32(null); 
//结果:a 为 0。

int d=(int)null //语法错误GG
  • 转换double类型
double value = 1.232d;

int c = int.Parse(value.ToString());
//结果:抛出异常 字符串格式不正确 无法继续运行
int a = Convert.ToInt32(value);
//结果:a=1 
int d = (int)value;
//结果:d=1
 int b;
 bool outcome = int.TryParse(value.ToString(), out b);
 //结果:outcome=false b=0
  • 转换double类型
double value = 1.632d; //若四舍五入 取整为2
int a = Convert.ToInt32(value);
//结果:a=2 说明有进行四舍五入
int d = (int)value;
//结果:d=1 说明没有进行四舍五入 只是截断值来取整
  • 转换int类型
double value = 45;
int a = Convert.ToInt32(value);
int d = (int)value;
int b;
bool outcome = int.TryParse(value.ToString(), out b);
//outcome=true 
int c = int.Parse(value.ToString());
//a b c d 均等于45
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值