C# 用字符串生成器连接字符串?

C# 用字符串生成器连接字符串?,c#,C#,我想生成一个格式为的字符串 ‘abc’、‘avc’、‘abc’、‘avc’、‘abc’、‘avc’、‘avc’、‘abc’、‘avc’、‘abc’、‘avc’、‘abc’、‘avc’、‘avc’ 值可以是任意值,也可以是空的。这是我的代码 string sep = ""; StringBuilder sb = new StringBuilder(); foreach(var l in label.Rows) {

我想生成一个格式为的字符串

‘abc’、‘avc’、‘abc’、‘avc’、‘abc’、‘avc’、‘avc’、‘abc’、‘avc’、‘abc’、‘avc’、‘abc’、‘avc’、‘avc’

值可以是任意值,也可以是空的。这是我的代码

        string sep = "";
        StringBuilder sb = new StringBuilder();
        foreach(var l in label.Rows)
        {
            sb.Append(sep).Append(l.Text);
            sep = ",''";
        }
这是我的回报

abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc,abc

任何帮助都将不胜感激

使用LinQ和Join更简单


当然,使用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.Appendsep+l.Text而不是两次调用Append方法会发生什么情况

,那么该代码会出现什么问题?您真的希望字符串以开头吗?我想我无法生成逻辑逻辑是什么?@Magnus它没有t@J.vanLangen没有abc',avc',abc。。。。。。
// 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("'");