.NET Framework Class Library StringBuilder..::.AppendFormat Method (String, Object, Object, Object) Appends the string returned by processing a composite format string, which contains zero or more format items, to this instance. Each format item is replaced by the string representation of either of three arguments.
Namespace:
System.Text
Assembly:
mscorlib (in mscorlib.dll)

Syntax
Public Function AppendFormat ( _
format As String, _
arg0 As Object, _
arg1 As Object, _
arg2 As Object _
) As StringBuilder
public StringBuilder AppendFormat(
string format,
Object arg0,
Object arg1,
Object arg2
)
public:
StringBuilder^ AppendFormat(
String^ format,
Object^ arg0,
Object^ arg1,
Object^ arg2
)
member AppendFormat :
format:string *
arg0:Object *
arg1:Object *
arg2:Object -> StringBuilder
Return ValueType: System.Text..::.StringBuilderA reference to this instance with format appended. Each format item in format is replaced by the string representation of the corresponding object argument.

Exceptions

Remarks
This method uses the composite formatting feature of the .NET Framework to convert the value of an object to its text representation and embed that representation in the current StringBuilder object. The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to arg0 through arg3, the objects in the parameter list of this method. The formatting process replaces each format item with the string representation of the corresponding object. The syntax of a format item is as follows: {index[,length][:formatString]} Elements in square brackets are optional. The following table describes each element. Element | Description |
|---|
index
| The zero-based position in the parameter list of the object to be formatted. If the object specified by index is nullNothingnullptra null reference (Nothing in Visual Basic), the format item is replaced by String..::.Empty. If there is no parameter in the index position, a FormatException is thrown. | ,length | The minimum number of characters in the string representation of the parameter. If positive, the parameter is right-aligned; if negative, it is left-aligned. | :formatString | A standard or custom format string that is supported by the parameter. |
arg0, arg1, and arg2 represent the objects to be formatted. Each format item in format is replaced with the string representation of either arg0, arg1, or arg2, depending on the index of the format item. If the format item includes formatString and the corresponding object in args implements the IFormattable interface, then argx.ToString(formatString, null) defines the formatting, where x is the index of the argument. Otherwise, argx.ToString() defines the formatting. If the string assigned to format is "Thank you for your purchase of {0:####} copies of Microsoft®.NET (Core Reference)." and arg0 is an Int16 with the value 123, the return value will be "Thank you for your purchase of 123 copies of Microsoft®.NET (Core Reference)." If the string assigned to format is "Brad's dog has {0,-8:G} fleas." and arg0 is an Int16 with the value 42, the return value (where underscores represent padding spaces) will be "Brad's dog has 42______ fleas."

Examples
The following example demonstrates the AppendFormat method.
Imports System
Imports System.Text
Imports System.Globalization
Class Sample
Private Shared sb As New StringBuilder()
Public Shared Sub Main()
Dim var1 As Integer = 111
Dim var2 As Single = 2.22F
Dim var3 As String = "abcd"
Dim var4 As Object() = {3, 4.4, "X"c}
Console.WriteLine()
Console.WriteLine("StringBuilder.AppendFormat method:")
sb.AppendFormat("1) {0}", var1)
Show(sb)
sb.AppendFormat("2) {0}, {1}", var1, var2)
Show(sb)
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
Show(sb)
sb.AppendFormat("4) {0}, {1}, {2}", var4)
Show(sb)
Dim ci As New CultureInfo("es-ES", True)
sb.AppendFormat(ci, "5) {0}", var2)
Show(sb)
End Sub 'Main
Public Shared Sub Show(sbs As StringBuilder)
Console.WriteLine(sbs.ToString())
sb.Length = 0
End Sub 'Show
End Class 'Sample
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22
using System;
using System.Text;
using System.Globalization;
class Sample
{
static StringBuilder sb = new StringBuilder();
public static void Main()
{
int var1 = 111;
float var2 = 2.22F;
string var3 = "abcd";
object[] var4 = {3, 4.4, 'X'};
Console.WriteLine();
Console.WriteLine("StringBuilder.AppendFormat method:");
sb.AppendFormat("1) {0}", var1);
Show(sb);
sb.AppendFormat("2) {0}, {1}", var1, var2);
Show(sb);
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
Show(sb);
sb.AppendFormat("4) {0}, {1}, {2}", var4);
Show(sb);
CultureInfo ci = new CultureInfo("es-ES", true);
sb.AppendFormat(ci, "5) {0}", var2);
Show(sb);
}
public static void Show(StringBuilder sbs)
{
Console.WriteLine(sbs.ToString());
sb.Length = 0;
}
}
/*
This example produces the following results:
StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
Console::WriteLine( sbs );
sbs->Length = 0;
}
int main()
{
StringBuilder^ sb = gcnew StringBuilder;
int var1 = 111;
float var2 = 2.22F;
String^ var3 = "abcd";
array<Object^>^var4 = {3,4.4,(Char)'X'};
Console::WriteLine();
Console::WriteLine( "StringBuilder.AppendFormat method:" );
sb->AppendFormat( "1) {0}", var1 );
Show( sb );
sb->AppendFormat( "2) {0}, {1}", var1, var2 );
Show( sb );
sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
Show( sb );
sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
Show( sb );
CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
array<Object^>^temp1 = {var2};
sb->AppendFormat( ci, "5) {0}", temp1 );
Show( sb );
}
/*
This example produces the following results:
StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/

Version Information
.NET FrameworkSupported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0 .NET Framework Client ProfileSupported in: 4, 3.5 SP1

Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

See Also
|
.NET Framework クラス ライブラリ StringBuilder..::.AppendFormat メソッド (String, Object, Object, Object) 0 個以上の書式指定項目を含む複合書式指定文字列を処理し、結果として返された文字列をこのインスタンスに追加します。 各書式指定項目は、3 つの引数のいずれかの文字列形式に置換されます。
名前空間:
System.Text
アセンブリ:
mscorlib (mscorlib.dll 内)

構文
Public Function AppendFormat ( _
format As String, _
arg0 As Object, _
arg1 As Object, _
arg2 As Object _
) As StringBuilder
public StringBuilder AppendFormat(
string format,
Object arg0,
Object arg1,
Object arg2
)
public:
StringBuilder^ AppendFormat(
String^ format,
Object^ arg0,
Object^ arg1,
Object^ arg2
)
member AppendFormat :
format:string *
arg0:Object *
arg1:Object *
arg2:Object -> StringBuilder

例外

解説
このメソッドでは、.NET Framework の複合書式指定機能を使用して、オブジェクトの値を対応するテキスト表現に変換し、そのテキスト表現を現在の StringBuilder オブジェクト中に埋め込みます。 format パラメーターは、ゼロ個以上のテキストに、このメソッドのパラメーター リストに指定された arg0 から arg3 までのオブジェクトと対応する、ゼロ個以上のインデックス付きプレースホルダー (書式項目と呼ばれる) を組み合わせて指定します。 各書式項目は、書式設定プロセスで、対応するオブジェクトの文字列形式に置き換えられます。 書式項目の構文を次に示します。 {index[,length][:formatString]} 角かっこで囲まれている要素は省略可能です。 各要素について次の表で説明します。 要素 | 説明 |
|---|
index
| 書式設定するオブジェクトのパラメーター リスト内の 0 から始まる位置。 index で指定されたオブジェクトが nullNothingnullptrnull 参照 (Visual Basic では Nothing) の場合、書式項目は String..::.Empty で置き換えられます。 index 位置にパラメーターが存在しない場合、FormatException がスローされます。 | ,length | パラメーターの文字列形式の最小文字数。 正数の場合、パラメーターは右揃えになります。負数の場合、左揃えになります。 | :formatString | パラメーターでサポートされている標準書式指定文字列またはカスタム書式指定文字列。 |
arg0、arg1、および arg2 は、書式設定するオブジェクトを表します。 format の各書式指定項目は、書式指定項目のインデックスに応じて、arg0、arg1 または arg2 の文字列形式に置換されます。 書式指定項目に formatString が含まれており、args の対応するオブジェクトが IFormattable インターフェイスを実装している場合、argx.ToString(formatString, null) によって書式が定義されます。ここで、x は引数のインデックスです。 それ以外の場合、argx.ToString() は書式設定を定義します。 format に代入された文字列が "Thank you for your purchase of {0:####} copies of Microsoft®.NET (Core Reference)." で arg0 が値 123 の Int16 である場合、戻り値は "Thank you for your purchase of 123 copies of Microsoft®.NET (Core Reference)." になります。 format に代入された文字列が "Brad's dog has {0,-8:G} fleas." で、arg0 が値 42 の Int16 の場合、戻り値は "Brad's dog has 42______ fleas." になります。この例のアンダースコアは埋め込まれたスペースを表します。

例
AppendFormat メソッドの例を次に示します。
Imports System
Imports System.Text
Imports System.Globalization
Class Sample
Private Shared sb As New StringBuilder()
Public Shared Sub Main()
Dim var1 As Integer = 111
Dim var2 As Single = 2.22F
Dim var3 As String = "abcd"
Dim var4 As Object() = {3, 4.4, "X"c}
Console.WriteLine()
Console.WriteLine("StringBuilder.AppendFormat method:")
sb.AppendFormat("1) {0}", var1)
Show(sb)
sb.AppendFormat("2) {0}, {1}", var1, var2)
Show(sb)
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3)
Show(sb)
sb.AppendFormat("4) {0}, {1}, {2}", var4)
Show(sb)
Dim ci As New CultureInfo("es-ES", True)
sb.AppendFormat(ci, "5) {0}", var2)
Show(sb)
End Sub 'Main
Public Shared Sub Show(sbs As StringBuilder)
Console.WriteLine(sbs.ToString())
sb.Length = 0
End Sub 'Show
End Class 'Sample
'
'This example produces the following results:
'
'StringBuilder.AppendFormat method:
'1) 111
'2) 111, 2.22
'3) 111, 2.22, abcd
'4) 3, 4.4, X
'5) 2,22
using System;
using System.Text;
using System.Globalization;
class Sample
{
static StringBuilder sb = new StringBuilder();
public static void Main()
{
int var1 = 111;
float var2 = 2.22F;
string var3 = "abcd";
object[] var4 = {3, 4.4, 'X'};
Console.WriteLine();
Console.WriteLine("StringBuilder.AppendFormat method:");
sb.AppendFormat("1) {0}", var1);
Show(sb);
sb.AppendFormat("2) {0}, {1}", var1, var2);
Show(sb);
sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
Show(sb);
sb.AppendFormat("4) {0}, {1}, {2}", var4);
Show(sb);
CultureInfo ci = new CultureInfo("es-ES", true);
sb.AppendFormat(ci, "5) {0}", var2);
Show(sb);
}
public static void Show(StringBuilder sbs)
{
Console.WriteLine(sbs.ToString());
sb.Length = 0;
}
}
/*
This example produces the following results:
StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/
using namespace System;
using namespace System::Text;
using namespace System::Globalization;
void Show( StringBuilder^ sbs )
{
Console::WriteLine( sbs );
sbs->Length = 0;
}
int main()
{
StringBuilder^ sb = gcnew StringBuilder;
int var1 = 111;
float var2 = 2.22F;
String^ var3 = "abcd";
array<Object^>^var4 = {3,4.4,(Char)'X'};
Console::WriteLine();
Console::WriteLine( "StringBuilder.AppendFormat method:" );
sb->AppendFormat( "1) {0}", var1 );
Show( sb );
sb->AppendFormat( "2) {0}, {1}", var1, var2 );
Show( sb );
sb->AppendFormat( "3) {0}, {1}, {2}", var1, var2, var3 );
Show( sb );
sb->AppendFormat( "4) {0}, {1}, {2}", var4 );
Show( sb );
CultureInfo^ ci = gcnew CultureInfo( "es-ES",true );
array<Object^>^temp1 = {var2};
sb->AppendFormat( ci, "5) {0}", temp1 );
Show( sb );
}
/*
This example produces the following results:
StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/

バージョン情報
.NET Frameworkサポート対象: 4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profileサポート対象: 4、3.5 SP1

プラットフォーム
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

参照
|