以下が実行されると:
foreach (String fromList in columns)
{
query += "`" + fromList + "`,";
}
query.TrimEnd(',');
コンマは文字列から削除されません。
私は何を間違っていますか?
TrimEnd
新しい文字列を返します。必要なもの:
query = query.TrimEnd(',');
文字列は不変であるため、TrimEnd からの戻り値を格納する必要があります。
query = query.TrimEnd(',');
これを行う簡単な方法がありますが:
var query = String.Join(",", columns.Select(fromList => String.Format("`{0}`", fromList)));
TrumEnd は文字列を返します。それを変数に割り当てていますか?
そのはず
foreach (String fromList in columns)
{
query += "`" + fromList + "`,";
}
query = query.TrimEnd(',');
文字列は不変です。を適用した後に結果が必要な場合TrimEnd
は、その結果を変数に割り当てる必要があります。
foreach (String fromList in columns)
{
query += "`" + fromList + "`,";
}
query = query.TrimEnd(',');
ここでは、それを自分自身に割り当て直しました。
もちろん、次のような方がよいでしょう。
query = String.Join(",",fromList.Select(a=>"`" + a + "`"));
ループ+編集の代わりに。
以下の例を使用します。
var trimmed = query.TrimEnd(',');
Console.WriteLine(trimmed);