0

以下が実行されると:

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

コンマは文字列から削除されません。

私は何を間違っていますか?

4

6 に答える 6

10

TrimEnd新しい文字列を返します。必要なもの:

query = query.TrimEnd(',');
于 2012-08-24T14:53:38.917 に答える
3

文字列は不変であるため、TrimEnd からの戻り値を格納する必要があります。

query = query.TrimEnd(',');

これを行う簡単な方法がありますが:

var query = String.Join(",", columns.Select(fromList => String.Format("`{0}`", fromList)));
于 2012-08-24T14:58:44.747 に答える
1

TrumEnd は文字列を返します。それを変数に割り当てていますか?

于 2012-08-24T14:54:30.227 に答える
0

そのはず

foreach (String fromList in columns)
{
    query += "`" + fromList + "`,";
}
query = query.TrimEnd(',');
于 2012-08-24T14:57:05.160 に答える
0

文字列は不変です。を適用した後に結果が必要な場合TrimEndは、その結果を変数に割り当てる必要があります。

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

ここでは、それを自分自身に割り当て直しました。


もちろん、次のような方がよいでしょう。

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

ループ+編集の代わりに。

于 2012-08-24T14:54:44.783 に答える
0

以下の例を使用します。

var trimmed = query.TrimEnd(',');
Console.WriteLine(trimmed);
于 2012-08-24T14:55:02.800 に答える