【发布时间】:2011-11-01 15:05:47
【问题描述】:
我正在尝试通过在我的数组中循环创建一个字符串。然后将字符串放在 SelectCommand 中。
foreach 循环是:
foreach (Object obj in arrFields)
{
String.Join(" {0}", obj);
}
SelectCommand 是:
Custom.SelectCommand = "SELECT " + String.Join(", ", arrFields) + " FROM Employee WHERE Employee_ID = " + a;
我最接近让它工作的是以下
字符串新列表
foreach (Object obj in arrFields)
{
newList = string.Format(" {0}", obj);
}
Custom.SelectCommand = "SELECT " + newList + " FROM Employee WHERE Employee_ID = " + a;
我遇到的问题是我在 FROM 之前得到了一个 ',' - 如何防止在 FROM 语句之前插入这个 ','?
【问题讨论】:
-
可能没有直接帮助,但 String.Join 每次对现有字符串进行操作时都会提供新字符串,因此会创建大量堆字符串。使用 StringBuilder 提高效率。
-
@Zenwalker -
String.Join使用UnSafeCharBuffer构建字符串,不会创建中间字符串堆。 -
您有权使用 UnSafeCharbuffer 从而使 Join 更快,但仅适用于较小的数组。
标签: c# asp.net loops arraylist