我想生成一个格式为
的字符串'abc','avc',abc','avc',abc','avc','abc','avc',abc','avc',abc','avc', 'abc','avc'
该值可以是任何值,也可以为空。这是我的代码
ionViewDidEnter() {
this.content.scrollToBottom();
this.observingChat(this);
}
这使我回到
abc,''abc,''abc,''abc,''abc,''abc,''abc,''abc,''abc,''abc,''abc,'' abc,''abc,''abc,''abc
任何帮助将不胜感激。
答案 0 :(得分:4)
当然,使用Linq会更简单且更具可读性,但是如果您想知道代码中出了什么问题,那么
// Start with the initial quote
string sep = "'";
StringBuilder sb = new StringBuilder();
foreach(var l in label.Rows)
{
sb.Append(sep).Append(l.Text);
// Quote before and after the comma
sep = "','";
}
// You need an additional quote to close the string if there is any
if(sb.Length > 0)
sb.Append("'");
还要考虑StringBuilder并不总是比简单的串联更快。如果此代码对性能敏感,那么我将尝试衡量如果使用单个 sb.Append(sep + l.Text)而不是调用两次Append方法
会发生什么情况答案 1 :(得分:3)
使用LinQ和method Join
string s = string.Join(",", label.Rows.Select(l => $"'{l.Text}'"));