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

在.NET1.1时代,在对数据进行不确定的操作的时候,一般都是采用try-catch-finally这种方法来处理,
在try语句块内,进行我们的数据操作,然后在catch内捕获异常.

但是在2.0里,很多地方我们可以不用 try这种语句块的方式,因为2.0已经新增了一些其它的方法.

比如说我们在进行数据类型转换的时候,

旧的方法

 1 None.gif int  i;
 2 None.gif try
 3 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
 4InBlock.gif   i = Convert.ToInt32(Request.Params["id"]);
 5ExpandedBlockEnd.gif}

 6 None.gif catch  (Exception ex)
 7 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
 8InBlock.gif   //Response.Write("出错原因:" + ex.Message;);
 9InBlock.gif   i = 0;   //设置一个默认值
10ExpandedBlockEnd.gif}


新的方法

1 None.gif int  i;
2 None.gif if  ( ! Int32.TryParse(Request.Params[ " id " ], out  i))
3 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
4InBlock.gif   i = 1;
5ExpandedBlockEnd.gif}

还有2.0里新增的Dictionary对象的一个方法TryGetValue

1 None.gif string  str;
2 None.gifDictionary < int string >  dict  =   new  Dictionary < int string > ();
3 None.gifdict.Add( 1 , " string " );
4 None.gif if  ( ! dict.TryGetValue( 2 out  str))
5 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
6InBlock.gif  str = "text";
7ExpandedBlockEnd.gif}

8 None.gif

看出来没有?第一个最明显的区别就是代码更加精简啦,其实这倒是其次的.
最主要的,新的方法返回的是一个bool值,而不是抛出异常,我们不用再去进行大量的异常处理.
TryXXX()方法如果返回true的时候,会自动把查找到的值out到之前定义的成员.

转载于:https://www.cnblogs.com/Atlantis/archive/2007/06/14/783756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值