エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

StringBuilder::AppendFormat メソッド (String, Object)

0 個以上の書式項目を含んでいる複合書式指定文字列を処理することで返される文字列を、このインスタンスに付加します。 各書式指定項目は、単一の引数の文字列形式に置換されます。

名前空間:  System.Text
アセンブリ:  mscorlib (mscorlib.dll 内)

public:
StringBuilder^ AppendFormat(
	String^ format, 
	Object^ arg0
)

パラメーター

format
型 : System::String
複合書式指定文字列 (「解説」を参照)。
arg0
型 : System::Object
書式指定するオブジェクト。

戻り値

型 : System.Text::StringBuilder
format が追加されたこのインスタンスへの参照。 format の各書式指定項目は、arg0 の文字列形式に置換されます。

例外条件
ArgumentNullException

formatnull 参照 (Visual Basic では Nothing) なので、

FormatException

format が無効です。

または

書式指定項目のインデックスが 0 (ゼロ) 未満または 1 以上です。

ArgumentOutOfRangeException

文字列を展開すると、長さが MaxCapacity を超えます。

このメソッドでは、.NET Framework の複合書式指定機能を使用して、オブジェクトの値を対応するテキスト表現に変換し、そのテキスト表現を現在の StringBuilder オブジェクト中に埋め込みます。

format パラメーターは、0 個以上のテキストに、書式指定項目と呼ばれる 0 個以上のインデックス付きプレースホルダーを組み合わせて指定します。 書式指定項目のインデックスが 0 で、このメソッドのパラメーター リストにある単一のオブジェクトである arg0 に対応している必要があります。 各書式項目は、書式設定プロセスで、文字列形式の arg0 に置き換えられます。

書式項目の構文を次に示します。

{index[,length][:formatString]}

角かっこで囲まれている要素は省略可能です。 各要素について次の表で説明します。

要素

説明

インデックス

書式設定するオブジェクトのパラメーター リスト内の 0 から始まる位置。 index で指定されたオブジェクトが null 参照 (Visual Basic では Nothing) の場合、書式項目は String::Empty で置き換えられます。 index 位置にパラメーターが存在しない場合、FormatException がスローされます。

,length

パラメーターの文字列形式の最小文字数。 正数の場合、パラメーターは右揃えになります。負数の場合、左揃えになります。

:formatString

パラメーターでサポートされている標準書式指定文字列またはカスタム書式指定文字列。

メモメモ

日付と時刻の値で使用する標準書式指定文字列およびカスタム書式指定文字列の詳細については、「標準の日付と時刻の書式指定文字列」および「カスタムの日付と時刻の書式指定文字列」を参照してください。 数値で使用する標準書式指定文字列およびカスタム書式指定文字列の詳細については、「標準の数値書式指定文字列」および「カスタム数値書式指定文字列」を参照してください。 列挙体で使用する標準書式指定文字列については、「列挙型書式指定文字列」を参照してください。

arg0 は、書式設定するオブジェクトを表します。 format の各書式指定項目は、arg0 の文字列形式に置換されます。 書式指定項目に formatString が含まれており、arg0IFormattable インターフェイスを実装している場合、arg0.Format(formatString, null) によって書式が定義されます。 それ以外の場合は、arg0.ToString() によって書式が定義されます。

format に代入された文字列が "Thank you for your donation of {0:####} cans of food to our charitable organization." で、arg0 が値 10 の整数である場合、戻り値は "Thank you for your donation of 10 cans of food to our charitable organization." になります。

呼び出し時の注意

.NET Framework 4、および .NET Framework 4.5で、StringBuilder(Int32, Int32) のコンストラクターを呼び出して StringBuilder オブジェクトをインスタンス化するとき StringBuilder のインスタンスの長さと長さが両方の MaxCapacity プロパティの値を超えて拡張できます。 これは特に、短い文字列を追加するに AppendAppendFormat のメソッドを呼び出すときに発生します。

AppendFormat メソッドの例を次に示します。


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.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

コミュニティの追加

追加
表示:
© 2015 Microsoft