String.Format メソッド (String, Object, Object)
指定した String の書式項目を、指定した 2 つの Object インスタンスの値と等価のテキストに置換します。
Overloads Public Shared Function Format( _
ByVal format As String, _ ByVal arg0 As Object, _ ByVal arg1 As Object _) As String
[C#]
public static string Format(stringformat,objectarg0,objectarg1);
[C++]
public: static String* Format(String* format,Object* arg0,Object* arg1);
[JScript]
public static function Format(
format : String,arg0 : Object,arg1 : Object) : String;
パラメータ
戻り値
1 番目と 2 番目の書式項目が、 arg0 および arg1 と等価の String に置換された format のコピー。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | format が null 参照 (Visual Basic では Nothing) です。 |
FormatException | format が無効です。
または 書式設定する引数を示す数が 0 より小さいか、書式設定する指定されたオブジェクトの数以上です。 |
解説
書式設定の詳細については、「 型の書式設定 」および「 書式設定の概要 」を参照してください。 Format がサポートする複合書式設定機能の詳細については、「 複合書式設定 」を参照してください。
format パラメータは、{index[,alignment][:formatString]}, という形式の 0 個以上の書式項目を使用して埋め込まれます。ここで、
- index
オブジェクトのリスト内のどの要素を書式化するかを示す 0 から始まる整数。インデックスで指定されたオブジェクトが null 参照 (Visual Basic では Nothing) の場合、書式項目は空の文字列 ("") で置き換えられます。 - alignment
書式設定された値を格納する領域の最小幅を示す、省略可能な整数。書式設定された値の長さが alignment よりも小さい場合、その領域の余白は空白文字で埋められます。alignment が負の場合、書式設定された値は領域内で左詰めになります。alignment が正の場合、値は右詰めになります。alignment の指定を省略すると、領域の長さは書式設定された長さと同じになります。alignment を指定した場合、コンマは省略できません。 - formatString
書式設定コードの省略可能な文字列。formatString が指定されておらず、対応する引数が IFormattable インターフェイスを実装している場合、 null 参照 (Nothing) が IFormattable.ToString 書式文字列として使用されます。そのため、 IFormattable.ToString のすべての実装では、書式指定文字列として null 参照 (Nothing) を許容し、 String としてオブジェクト表示の既定の書式を返す必要があります。formatString を指定した場合、コロンは省略できません。
先頭および末尾の中かっこ文字 '{' および '}' は必須です。 format 内でリテラルな中かっこ文字を指定するには、"{{" または "}}" のように、先頭または末尾の中かっこ文字を 2 つ続けて指定します。
format の値が "『MicrosoftR .NET (Core Reference)』を {0:####} 冊お買い上げいただき、ありがとうございました。" で、 arg0 が 123 という値を持つ Int16 だとすると、戻り値は次のようになります。
"『MicrosoftR .NET (Core Reference)』を 123 冊お買い上げいただき、ありがとうございました。"
format の値が "ブラッドの飼っている犬には {0,-8:G} 匹のノミがいる。" で、 arg0 が 42 という値を持つ Int16 の場合、戻り値は次のようになります。この例では、アンダースコアは埋め込まれたスペースを表します。
"ブラッドの飼っている犬には 42______ 匹のノミがいる。"
使用例
[Visual Basic, C#, C++] 複数の値の書式を設定する例を次に示します。
<Serializable()> Public Class LogicalCallContextData
Implements ILogicalThreadAffinative
Private _nAccesses As Integer
Private _principal As IPrincipal
Public ReadOnly Property numOfAccesses() As String
Get
Return [String].Format("The identity of {0} has been accessed {1} times.", _principal.Identity.Name, _nAccesses)
End Get
End Property
Public ReadOnly Property Principal() As IPrincipal
Get
_nAccesses += 1
Return _principal
End Get
End Property
Public Sub New(p As IPrincipal)
_nAccesses = 0
_principal = p
End Sub 'New
End Class 'LogicalCallContextData
[C#]
[Serializable]
public class LogicalCallContextData : ILogicalThreadAffinative
{
int _nAccesses;
IPrincipal _principal;
public string numOfAccesses {
get {
return String.Format("The identity of {0} has been accessed {1} times.",
_principal.Identity.Name,
_nAccesses);
}
}
public IPrincipal Principal {
get {
_nAccesses ++;
return _principal;
}
}
public LogicalCallContextData(IPrincipal p) {
_nAccesses = 0;
_principal = p;
}
}
[C++]
[Serializable]
public __gc class LogicalCallContextData : public ILogicalThreadAffinative
{
int _nAccesses;
IPrincipal* _principal;
public:
__property String* get_numOfAccesses()
{
return String::Format(S"The identity of {0} has been accessed {1} times.",
_principal->Identity->Name,
__box(_nAccesses));
}
public:
__property IPrincipal* get_Principal()
{
_nAccesses ++;
return _principal;
}
public:
LogicalCallContextData(IPrincipal* p)
{
_nAccesses = 0;
_principal = p;
}
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
String クラス | String メンバ | System 名前空間 | String.Format オーバーロードの一覧 | Object | 書式設定の概要 | 型の書式設定