int.Parse()与int.TryParse() 都用于将字符串转换为 int类型,主要区别在于:
返回值:
如果字符串合法,int.Parse()返回的是数值,但int.TryParse() 返回的是 true/false。
调用方法:
int.Parse()直接赋值。
int i = int.Parse("123"); // i 的值会等于123
int.TryParse() 要使用out 参数。
int i ; bool b = int.TryParse("123", out i); // b等于true,i等于123。
是否抛出异常:
字符串不合法时,int.Parse()会抛出异常,int.TryParse()只是返回false,并将out 参数赋值为0。
int i = int.Parse("abc"); // 运行会抛出异常。 // 如果字符串为空,则抛出ArgumentNullException异常; // 如果字符串内容不是数字,则抛出FormatException异常; // 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常。 int i = -1; bool b = int.TryParse("abc", out i); // 不会抛出异常;b等于false,i等于0,而不再是-1。
参考:http://www.cnblogs.com/fishtreeyu/archive/2011/01/15/1936193.html