[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);