【发布时间】:2012-10-09 18:59:19
【问题描述】:
在我的应用程序中,我想获取数据集中特定列中的数据并将其转换为逗号分隔的字符串。我使用了下面的代码。但我认为它使应用程序非常缓慢。
string ids = "";
if (datatable1.Rows.Count > 0)
{
foreach (DataRow dr in datatable1.Rows)
{
ids += dr["id"].ToString() + " ,";
}
}
谁能提供一些改进代码的建议。
【问题讨论】:
-
为什么您认为它会使您的应用程序变慢?另外,请注意您可以删除
if (datatable1.Rows.Count > 0)检查,因为它不是必需的(如果没有行,您的 foreach 循环将不会进入!) -
有多少行? StringBuilder 可能会更好?
-
@DaveHogan:可能成千上万
-
一个ID通常是数字,为什么你使用字符串而不是
List<int>? -
是的,但我想在 sql 中使用它,例如 delete * from table where id in (@ids)。