[C#] StringBuilder の AppendLine の終端文字列

StringBuilder の AppendLine メソッドは、ログ出力等の人の目で確認する場合に見やすく出力させたい場合によく使用されるが、これはメソッドが \r\n を自動的に追加してくれるもので、最後の文字列を何かしたい場合は気をつけなければならない。
var sb = new StringBuilder();
sb.AppendLine("AAAA,");
sb.AppendLine("BBBB,");
sb.AppendLine("CCCC,");
// "AAAA,\r\nBBBB,\r\nCCCC,\r\n"
var val = sb.ToString().TrimEnd(',');

var sb2 = new StringBuilder();
sb2.AppendLine("AAAA,");
sb2.AppendLine("BBBB,");
sb2.AppendLine("CCCC");
sb2.Append(",");
// "AAAA,\r\nBBBB,\r\nCCCC\r\n"
var val2 = sb2.ToString().TrimEnd(',');
改行コードが必要いなら、String.Join メソッドで連結したほうがスマートだが、改行コード付きとなると自分で改行するしかないか…。
見た目はきれいに出力してくれるのだがね。
var lst = new List();
lst.Add("AAAA");
lst.Add("BBBB");
lst.Add("CCCC");
// "AAAA,BBBB,CCCC"
var val3 = string.Join(",", lst);

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック