通过包含约40 000个记录的数据表进行循环转换几乎需要4分钟。在循环中,我仅仅读取每行一个特定列的值,然后将之编成字符串。
我不会打开任何 DB 连接或其它东西, 因为它是一个函数, 它可以重新找到一个数据目录, 通过它循环, 并返回一个字符串 。
有没有比这更快的方法?
代码如下:
private string getListOfFileNames(Datatable listWithFileNames)
{
string whereClause = "";
if (listWithFileNames.Columns.Contains("Filename"))
{
whereClause = "where filename in (";
for (int j = 0; j < listWithFileNames.Rows.Count; j++)
whereClause += " " + listWithFileNames.Rows[j]["Filename"].ToString() + " ,";
}
whereClause = whereClause.Remove(whereClause.Length - 1, 1);
whereClause += ")";
return whereClause;
}