【发布时间】:2009-03-17 12:39:16
【问题描述】:
我正在寻找在循环中创建一个与另一个分隔的字符串的最佳方法。我的意思是,例如,SQL 阅读器:
StringBuilder sb = new StringBuilder();
while(reader.Read())
{
sb.Append(reader[0]);
sb.Append("<br />");
}
string result = sb.ToString();
result = result.Remove(result.LastIndexOf("<br />")); // <-
或创建 SQL 查询字符串;
StringBuilder sb = new StringBuilder();
foreach(string v in values)
{
sb.Append(v);
sb.Append(",");
}
string query = sb.ToString()
query = query.Remove(query.LastIndexOf(",")); // <-
query = String.Concat("INSERT INTO [foo] ([bar]) VALUES(", query, ")");
这是我找到的最好的:
List<string> list = new List<string>;
while(reader.Read())
{
list.Add(reader[0]);
}
string result = String.Join("<br />", list.ToArray());
编辑: 我知道。我的一般想法不要使用StringBuilder,我没有在这里使用它只是为了清楚起见Remove/LastIndexOf!
【问题讨论】:
-
他正在寻找通过迭代地将字符串组件添加在一起来创建字符串的最佳方法。
-
好的,现在您的问题已被编辑,所以答案没有多大意义。 :) 但是看到在同一行中使用 StringBuilder 和 String.Concat 仍然让我很伤心。这也没有多大意义。 :)
-
感谢提示!我已经编辑了