我正在将大量数据集加载到内存中。代码基本上循环遍历DataTable,并将DataRow中的值复制到int
个变量中。由于某种原因,我在循环过程中声明的变量几乎是在方法顶部声明的变量的两倍。
以下是Ants Perf Profiler的截图。尽可能地,行siteID = (int) oDR[FIELD_SITE_ID]
几乎是前一行的两倍。为什么会这样?
答案 0 :(得分:0)
难道不是oDR[FIELD_SITE_ID]
这里有什么缓慢的吗?尝试将其分配给循环中的变量,然后将其分配给siteID
变量。如果我是正确的,您应该会看到惩罚从sideID
作业转移到从oDR
获取价值的声明。
int siteIDtmp = (int)oDR[FIELD_SITE_ID];
siteID = siteIDtmp;