parse和Tryparse区别

简介:
 
Convert.ToInt32
int.Parse(Int32.Parse)
int.TryParse
(int)
四者都可以解释为将类型转换为 int,那它们的区别是什么呢?

 

Convert.ToInt32int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:

  • Convert.ToInt32 参数为 null 时,返回 0;
  • int.Parse 参数为 null 时,抛出异常。  
  • Convert.ToInt32 参数为 "" 时,抛出异常;
  • int.Parse 参数为 "" 时,抛出异常。 

 

  • Convert.ToInt32 可以转换的类型较多;
  • int.Parse 只能转换数字类型的字符串。

int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0。
 

int m; 
if(int.TryParse("2"),out m)
{
...
}
返回true ,运行{}内,并给m赋值为2

 

if(int.TryParse("ddd"),out m)
{
...
}
返回false,不运行if{}内,并给m赋值为0

目录
相关文章
|
存储 NoSQL Redis
redis 6源码解析之 object
redis 6源码解析之 object
127 6
|
机器学习/深度学习 编解码 算法
CV面试题目总结(一)- 深度学习算法
CV面试题目总结(一)- 深度学习算法
427 0
|
C# 开发者 Windows
4款.NET开源、功能强大的Windows桌面工具箱
4款.NET开源、功能强大的Windows桌面工具箱
203 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校电动车租赁系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校电动车租赁系统附带文章源码部署视频讲解等
195 0
|
Python
Python解包到变量
【6月更文挑战第15天】
80 3
|
Oracle 关系型数据库 数据库
Oracle-等待事件解读
Oracle-等待事件解读
225 0
|
缓存 Java 测试技术
【Nacos源码之配置管理 七】服务端增删改配置数据之后如何通知集群中的其他机器
在后台管理界面可以直接增删改查所有的配置数据,那么问题来了 1. [x] 增删改数据这个操作,除了落库,还做了哪些操作? 1新增配置数据 打开后台新建一个配置
【Nacos源码之配置管理 七】服务端增删改配置数据之后如何通知集群中的其他机器
|
消息中间件 JSON Java
【Kafka】(十六)Kafka 生产者(producer)生产 topic 数据常见 API
【Kafka】(十六)Kafka 生产者(producer)生产 topic 数据常见 API
439 0
|
存储 数据可视化 JavaScript
这款前端可视化代码执行工具,打残js执行过程
这款前端可视化代码执行工具,打残js执行过程
这款前端可视化代码执行工具,打残js执行过程