这是一个真正的性能问题。我该如何改进这种方法?
public int FindPreviousFC(int framecode)
{
if (SetTable == null)
throw new NullReferenceException("Not loaded Log_Roadb.");
int previousFrameCode = 0;
for (int i = 0; i < SetTable.Rows.Count; i++)
{
if (framecode == Convert.ToInt32(SetTable.Rows[i][0]))
{
previousFrameCode = Convert.ToInt32(SetTable.Rows[i - 1][0]);
break;
}
}
return previousFrameCode;
}
结帐关于[以下博文](http://ayende.com/Blog/archive/2011/04/13/the-seven-deadly-sins-for-the-developer-some-restrictions.aspx)抛出一个'NullReferenceException'。当你(或者那个人)写这段代码的时候,你是否意识到自己犯了罪? – 2011-04-14 22:49:52
为什么?它看起来像是通过某种列表结构的线性扫描,列表有多大? – 2011-04-14 22:49:57
SetTable的实际类型是什么。行[I] [0]?有多少行? – BrandonAGr 2011-04-14 23:01:44