不能从字符串的末尾修剪

时间:2012-08-24 14:52:38

标签: c# string trim

执行以下操作时:

foreach (String fromList in columns)
{
    query += "`" + fromList + "`,";
}
query.TrimEnd(',');

不会从字符串中删除逗号。

我做错了什么?

6 个答案:

答案 0 :(得分:10)

TrimEnd返回新字符串。你需要:

query = query.TrimEnd(',');

答案 1 :(得分:3)

字符串是不可变的,因此您需要存储TrimEnd的返回值。

query = query.TrimEnd(',');

虽然有一种更简单的方法可以做到这一点:

var query = String.Join(",", columns.Select(fromList => String.Format("`{0}`", fromList)));

答案 2 :(得分:1)

TrumEnd返回一个字符串。您是否将其分配给变量?

答案 3 :(得分:0)

字符串是不可变的。如果您在应用TrimEnd后想要结果,则必须将该结果分配给变量:

foreach (String fromList in columns)
{
    query += "`" + fromList + "`,";
}
query = query.TrimEnd(',');

在这里,我已将其归还给自己。


当然,更好的是:

query = String.Join(",",fromList.Select(a=>"`" + a + "`"));

而不是循环+编辑。

答案 4 :(得分:0)

使用以下示例:

var trimmed = query.TrimEnd(',');
Console.WriteLine(trimmed);

答案 5 :(得分:0)

应该是

foreach (String fromList in columns)
{
    query += "`" + fromList + "`,";
}
query = query.TrimEnd(',');