我在C#(.NET 2.0)中有一个很大的项目,其中包含由SubSonic生成的非常大的代码块。这样的尝试是否会造成可怕的表现?由于发现错误太多而导致性能不佳?
for (int x = 0; x < identifiers.Count; x++)
{decimal target = 0;
try
{
target = Convert.ToDecimal(assets[x + identifiers.Count * 2]); // target %
}
catch { targetEmpty = true; }}
正在发生的事情是,如果是在传递给定的领域是不是可以转换为十进制它设置一个标志,然后沿记录还用于确定别的东西。
问题是,当我通过30k记录进行解析时,应用程序逐字地抛出数以万计的异常。整个过程需要将近10分钟的时间,而我的总体任务是提高一些时间,如果这是一个糟糕的设计理念,这似乎很容易挂果。
任何想法,将是有益的(是一种,它是一个悲痛的日子)
感谢, 克里斯
尝试阅读下面的句子,然后将每个'Ouch!'实例替换为一个例外并且推断出你的代码的效果: 是的,''哎呀!'那里'''''可以'''''''''' '''哎呀!''小'''''''''''''''''''''' – 2010-04-22 21:24:38
我最近才开始查看这段代码......实际上,如果3个字段实际上是小数或者它们是空白/空/非小数,它看起来像有3个类似的测试。然后,如果所有3个标志字段都为真,它不会尝试添加记录。呃...是的,这很可悲。 – 2010-04-22 21:38:17