int.Parse()用于将字符串转换为32为int类型,但是在遇到非数字或者类似1.545这种小数的时候会报错,后来采用了int.TryParse,这个在转换后会判断是否可以正常转换,若不能,会返回一个false值,若能,则会返回true。这个搭配上if语句可以很好地判断输入的字符是否符合要求。

在网上看到大家用Parse和TryParse的经验,发现有一段心得特别好,需要记录一下:

“我个人的习惯是:有可能出现异常时(比如尝试parse一个用户输入的string),用TryParse。当不可能出现异常(或者说出现异常属于事故级),比如我要parse一个确保是int的string时,直接parse不捕获异常。确保是int的string大概是这样的情况: 比如我从数据库中读取一个string,这个string是我之前的代码写入到数据库的,已经检查过了是int。那么这种情况下直接parse。因为如果这种情况下还抛异常,说明是之前的写入代码检查逻辑有问题,应该去修改那里的代码而不是把这里改成tryparse。”

当用于数据库时,确实Parse更应该被使用,可以检查出数据库中的输入错误。而一般用于转换用户的输入情况还是TryParse更加适用,不会出现输出不合法造成闪退的情况。

2018.08.04

最新文章

  1. System.Drawing.Color
  2. sqlserver巧用row_number和partition by分组取top数据
  3. dom4j 学习总结
  4. 上传项目的更改 info.plist文件
  5. NS2仿真:使用NS仿真软件模拟简单网络模型
  6. 关于Qt信号与槽机制的传递方向性研究(结论其实是错误的,但是可以看看分析过程)
  7. 【c++】size_t 和 size_type的区别
  8. js闭包(closure),个人理解
  9. 企业级Docker私有仓库之Harbor部署(http)
  10. NameNode和SecondaryNameNode工作原理剖析
  11. 通用RSA加密 - PHP+Java+Javascript加密解密
  12. WebApi系列~不支持put和delete请求的解决方法
  13. Html5 拖拽api
  14. H3C505
  15. C、C++、C#、Java、php、python语言的内在特性及区别
  16. [转]ConcurrentHashMap原理分析
  17. Vue组件通信父传方法给子组件调用
  18. Day2 MySql函数以及单表查询
  19. codevs 5962 [SDOI2017]数字表格
  20. 20145314郑凯杰 《Java程序设计》第4周学习总结

热门文章

  1. jQuery实现的手机发送验证码倒计时效果代码分享
  2. hibernate的一些缺陷(转)
  3. instancetype 与id
  4. Alpha阶段贡献分配规则
  5. MySQL 存储过程理解
  6. Mysql5.6 buffer_pool预热功能
  7. linux之 ssh连接服务器,WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  8. Asp.net MVC Comet 推送
  9. ASP.NET 获得当前网页名字
  10. erlang程序发布的时候需要注意的地方