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