次の方法で共有


String.Format メソッド (String, Object )

指定した String の書式項目を、指定した配列内の対応する Object インスタンスの値と等価のテキストに置換します。

Overloads Public Shared Function Format( _
   ByVal format As String, _   ByVal ParamArray args() As Object _) As String
[C#]
public static string Format(stringformat,   params object[] args);
[C++]
public: static String* Format(String* format,Object* args __gc[]);
[JScript]
public static function Format(
   format : String,args : Object[]) : String;

パラメータ

  • format
    0 個以上の書式項目を含んだ String
  • args
    0 個以上の書式設定対象オブジェクトを含んだ Object 配列。

戻り値

書式項目が argsObject の対応インスタンスと等価の String に置換された format のコピー。

例外

例外の種類 条件
ArgumentNullException format または args が null 参照 (Visual Basic では Nothing) です。
FormatException format が無効です。

または

書式設定対象の引数を示す数が 0 より小さいか、 args 配列の長さ以上です。

解説

書式設定の詳細については、「 型の書式設定 」および「 書式設定の概要 」を参照してください。 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:####} 冊お買い上げいただき、ありがとうございました。" で、arg[0] が 123 という値を持つ Int16 だとすると、戻り値は次のようになります。

"『MicrosoftR .NET (Core Reference)』を 123 冊お買い上げいただき、ありがとうございました。"

format の値が "ブラッドの飼っている犬には {0,-8:G} 匹のノミがいる。" で、arg[0]が 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 | 書式設定の概要 | 型の書式設定