博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Convert,Parse,TryParse数据转换比较
阅读量:4620 次
发布时间:2019-06-09

本文共 1596 字,大约阅读时间需要 5 分钟。

数据string类型转换int的三种方式:

1.Convert方法

在C#中,int 关键字表示一种整型,是32位的,它的 .NET Framework 类型就是 System.Int32。
因此string类型转换为int类型可以使用Convert.ToInt32()这个方法

int num;            num = Convert.ToInt32("123");            Console.WriteLine(num);

这里写图片描述

可以看到这个可以成功转换。但万事总会有特殊情况:
Eg 1:

int num;            num = Convert.ToInt32("123abc");            Console.WriteLine(num);

结果异常:

这里写图片描述
当我们不小心传入了123abc这个字符串,这个程序就会抛出异常为 System.FormatException:,是字符串的格式异常,这就需要去拦截异常影响了系统性能。

Eg2:

int num;            num = Convert.ToInt32(null);            Console.WriteLine(num);

这里写图片描述

当我们不小心传入了null,结果为0。


2.Parse方法

int.Parse()方法也可以将string类型转为int类型。

int num2;            num2 = int.Parse("123");            Console.WriteLine(num2);

这里写图片描述

从上面可以看到正常转换,下面说下特殊情况,当输入非数字组成的字符串时,此方法和Convert()方法一样会抛出异常:字符串的格式异常,这就需要我们使用时要去拦截异常,影响系统性能;输入null时结果不同:如下说明:

int num2;            num2 = int.Parse(null);            Console.WriteLine(num2);

这里写图片描述

抛出异常System.ArgumentNullException,与Convert方法不同。

上面的Convert.ToInt32()方法事实调用了int.Parse()这个方法,因此int.Parse()方法的性能高于Convert.ToInt32()方法.

3.TryParse方法

int.TryParse()与 int.Parse() 较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。

int num3 = 5;            bool b = int.TryParse("123", out num3);            Console.WriteLine(b + "\t" + num3);

这里写图片描述

可以看大成功转换TRUE 123。
Eg1.

int num3 = 5;            bool b = int.TryParse("123abc", out num3);            Console.WriteLine(b + "\t" + num3);

这里写图片描述

当传入为123abc字符串时转换失败为false,而且值时0不是我们初始赋的值。
Eg2:

int num3 = 5;            bool b = int.TryParse(null, out num3);            Console.WriteLine(b + "\t" + num3);

当传入为null时,结果与123abc相同。这里可以看到当使用方法int.TryParse()不会出现异常,系统性能会得到提高。

转载于:https://www.cnblogs.com/wangqilong/p/9417511.html

你可能感兴趣的文章
Mysql 8.0.13如何重置密码
查看>>
发布功能完成
查看>>
excel 合并单元格
查看>>
iOS设计模式简介
查看>>
c# 扩展方法 奇思妙用 高级篇 九:OrderBy(string propertyName, bool desc)
查看>>
C语言中的地址传递(传指针,传递给形参的指针仍然是实参指针的一份拷贝)
查看>>
redis缓存数据库及Python操作redis
查看>>
opencms忘记Admin用户登录密码解决方案
查看>>
forms组件
查看>>
create-react-app 配置sass
查看>>
02_关系数据库
查看>>
在win7电脑中如何查看运行进程的PID标识符
查看>>
[Vue] vue-cli3.0安装
查看>>
C++学习之字符串
查看>>
图像化列表
查看>>
2014年10月9日——语言基础2
查看>>
mysql查
查看>>
[正则表达式]难点和误区
查看>>
217. Contains Duplicate
查看>>
hadoop遇到问题总结
查看>>