呵呵,泼点儿凉水。
发表于:2007-06-30来源:作者:点击数:
标签:
你的程序里有很大的问题,可以说是一种很坏的写法。看这段代码: for (Int32 i = 0 ; i _text.Length; i++) { try { //试着解析character 成Int32 Int32.Parse(_text[i].ToString()); _int.Append(_text[i].ToString()); } catch { //如果character 不是阿拉
你的程序里有很大的问题,可以说是一种很坏的写法。看这段代码:
for (Int32 i = 0 ; i < _text.Length; i++)
{
try
{
//试着解析character 成Int32
Int32.Parse(_text[i].ToString());
_int.Append(_text[i].ToString());
}
catch
{
//如果character 不是阿拉伯数字,将发生一个错误"Invalid Input String"
_string.Append(_text[i].ToString());
}
}
Label1.Text = "String: " + _string.ToString();
Label1.Text += "<br>Int32: " + _int.ToString();
Int32 _newInt = Int32.Parse(_int.ToString());
Label2.Text = "The Int32 value squared is: ";
Label2.Text += (_newInt * _newInt).ToString();
}
这段代码违背了有关效率的一个重要原则,那就是永远不能把可以预见到的exception作为程序正常流程中达到某个目的的一种手段。你需要预先判断一下_Text[i]是否可以转换成int32,而不要利用抛出Exception来判断,因为抛出异常是个很耗费效率的操作,如果你这段程序转换一个很长的字符串的话那是要出问题的。
一点浅见,不要生气,呵呵。
原文转自:http://www.ltesting.net