转载地址:https://www.cnblogs.com/danlis/p/5106333.html
Console.WriteLine(
"输出转换空结果 ={0}"
, Convert.ToInt32(
""
));
//Convert.ToInt32是不允许转换“”空值的,会报错
Console.WriteLine(
"输出转换null结果={0}"
, Convert.ToInt32(
null
));
//Convert.ToInt32允许传入null参数转换,结果为0
Console.WriteLine(
"输出转换字母非数字结果={0}"
, Convert.ToInt32(
"12"
));
//正常操作
Console.WriteLine(
"输出转换字母非数字结果={0}"
, Convert.ToInt32(
"12ab"
));
//转换非数字,则直接报错
var
aa=
"10"
;
int
bb;
int
.TryParse(aa,
out
bb);
Console.WriteLine(bb);
//结果显示10,运行正常
aa=
"abc"
;
//特殊字符等非正常数字,或者12aa类型,结果都是0
//显示0,运行正常
var
aa = (
int
.MaxValue+1).ToString();
//超出范围的时候,程序会顺利运行,但是是有错误产生的。而且,显示的值是上一次的运算结果,即之前的一次计算结果是0则是0,是1则是1。
//所以如果存在溢出这种情况,还是得仔细辨别一下。
//错误 1 在 checked 模式下,运算在编译时溢出 Projects\1111\getimage\Program.cs
int.Parse()与int.TryParse()和
Convert.ToInt32比较
http://www.cnblogs.com/fishtreeyu/archive/2011/01/15/1936193.html