TryPrase

Prase()方法的一个问题在于,要知道转换能否成功,唯一的办法就是尝试执行类型转换,并在失败的时候引发并捕捉异常。而异常处理的代价往往相当的高,所以更好的办法,就是尝试执行转换的同时,不进行异常处理。

在CLI(Common Language Infrastructure,公共语言基础结构)2.0版本中,CLI为所有基础数据类型都实现了TryPrase()方法,这个方法要求使用out关键字,因为从TryPrase()返回的是一个bool值,而不是转换好的值。

下面来看一个例子:

 1 using System;
 2 
 3 namespace TryParese
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.WriteLine("Please input your age:");
10             string ageText = Console.ReadLine();
11             int age = 0;
12             if(int.TryParse(ageText,out age))
13             {
14                 Console.WriteLine("You are {0} old.",age);
15             }
16         }
17     }
18 }

如果输入正确的数字,运行结果如下图显示:

1 Please input your age:
2 12
3 You are 12 old.
4 请按任意键继续. . .

如果输入非数字,不能正确转型,运行结果如下图显示:

Please input your age:
ds
请按任意键继续. . .

 

 

posted @ 2013-01-18 10:28  天之涯,海之角  阅读(258)  评论(0)    收藏  举报