当前位置: 首页 > news >正文

.NET 2.0中新增的一些TryGet,TryParse等方法

出处: http://www.cnblogs.com/Atlantis/archive/2007/06/14/783756.html 在.NET1.1时代,在对数据进行不确定的操作的时候,一般都是采用try-catch-finally这种方法来处理, 在try语句块内,进行我们的数据操作,然后在catch内捕获异常. 但是在2.0里,很多地方我们可以不用 try这种语句块的方式,因为2.0已经新增了一些其它的方法. 比如说我们在进行数据类型转换的时候, 旧的方法
1 int i; 2 try 3 { 4i=Convert.ToInt32(Request.Params["id"]); 5} 6 catch (Exceptionex) 7 { 8//Response.Write("出错原因:"+ex.Message;); 9i=0;//设置一个默认值 10}
新的方法
1 int i; 2 if ( ! Int32.TryParse(Request.Params[ " id " ], out i)) 3 { 4i=1; 5}
还有2.0里新增的Dictionary对象的一个方法TryGetValue
1 string str; 2 Dictionary < int , string > dict = new Dictionary < int , string > (); 3 dict.Add( 1 , " string " ); 4 if ( ! dict.TryGetValue( 2 , out str)) 5 { 6str="text"; 7} 8
看出来没有?第一个最明显的区别就是代码更加精简啦,其实这倒是其次的. 最主要的,新的方法返回的是一个bool值,而不是抛出异常,我们不用再去进行大量的异常处理. TryXXX()方法如果返回true的时候,会自动把查找到的值out到之前定义的成员.

相关文章:

  • 【pytorch】封装 optimizer实现 “梯度截断” 与 “学习率下调”
  • 赫连勃勃
  • LSTNet
  • Windows Embedded征文比赛
  • 【pytorch】用 GRU 做时间序列预测
  • 时间序列问题与自然语言处理的区别
  • 周日-购书记录---五道口光合作用
  • 时间序列特征提取 —— 获取日期相关的协变量
  • c#中高效的excel导入sqlserver的方法
  • DeepGLO
  • 《梦断代码》上市
  • Multi-Horizon Time Series Forecasting with Temporal Attention Learning
  • 网络互联设备之区别详解
  • Quantile RNN
  • 正式开始homeR的计划
  • Fundebug计费标准解释:事件数是如何定义的?
  • laravel5.5 视图共享数据
  • Laravel核心解读--Facades
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • markdown编辑器简评
  • MySQL的数据类型
  • October CMS - 快速入门 9 Images And Galleries
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • tab.js分享及浏览器兼容性问题汇总
  • Vue.js源码(2):初探List Rendering
  • Vue2 SSR 的优化之旅
  • vue学习系列(二)vue-cli
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 浅谈Golang中select的用法
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 数组大概知多少
  • 用简单代码看卷积组块发展
  • 自制字幕遮挡器
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • Prometheus VS InfluxDB
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (2)Java 简介
  • (9)STL算法之逆转旋转
  • (C++17) std算法之执行策略 execution
  • (分类)KNN算法- 参数调优
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (一)插入排序
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • ../depcomp: line 571: exec: g++: not found
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Micro Framework 4.2 beta 源码探析
  • .net wcf memory gates checking failed
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .Net下的签名与混淆