StringBuilder.AppendFormatメソッドは、指定された書式に整形してからバッファに追加するメソッドです。 String.Formatメソッドによる書式化と文字列の連結を同時に行う操作に相当します。
AppendFormatメソッドでは、String.FormatメソッドやConsole.WriteLineメソッドなどと同様に書式指定子を指定することができます。
StringBuilder.AppendFormatメソッドを使って指定した書式で文字列化して追加する
using System;
using System.Text;
class Sample {
static void Main()
{
var sb = new StringBuilder(); // 空のStringBuilderを作成
// 書式を指定し、数値72を文字列化して追加
sb.AppendFormat("{0:D} {0:D4} {0:N4}", 72);
Console.WriteLine(sb);
}
}
実行結果
72 0072 72.0000
AppendFormatメソッドでは改行文字は追加されません。 AppendFormatLineのようなメソッドもないので、改行文字を追加したい場合はAppendLineメソッドと組み合わせて使う必要があります。
書式化について詳しくは文字列と書式を参照してください。
AppendFormatメソッドでは任意の型の引数を書式化して追加することが出来ますが、Appendメソッドも同様に文字列以外の値を追加することが出来ます。 この際、引数として指定された値は既定の書式で自動的に文字列化されてから追加されます。
StringBuilder.Appendメソッドで文字列型以外の値を追加する
using System;
using System.Text;
class Sample {
static void Main()
{
var sb = new StringBuilder(); // 空のStringBuilderを作成
Console.WriteLine("<{0}>", sb);
// int型の数値を追加
sb.Append(16);
sb.AppendLine();
Console.WriteLine("<{0}>", sb);
// double型の数値を追加
sb.Append(Math.PI);
sb.AppendLine();
Console.WriteLine("<{0}>", sb);
// bool型の値を追加
sb.Append(true);
sb.Append(false);
sb.AppendLine();
Console.WriteLine("<{0}>", sb);
}
}
StringBuilder.Appendメソッドで文字列型以外の値を追加する
Imports System
Imports System.Text
Class Sample
Shared Sub Main()
Dim sb As New StringBuilder() ' 空のStringBuilderを作成
Console.WriteLine("<{0}>", sb)
' Integer型の数値を追加
sb.Append(16)
sb.AppendLine()
Console.WriteLine("<{0}>", sb)
' Double型の数値を追加
sb.Append(Math.PI)
sb.AppendLine()
Console.WriteLine("<{0}>", sb)
' Boolean型の値を追加
sb.Append(true)
sb.Append(false)
sb.AppendLine()
Console.WriteLine("<{0}>", sb)
End Sub
End Class
実行結果
<> <16 > <16 3.14159265358979 > <16 3.14159265358979 TrueFalse >