複合書式指定Composite Formatting

.NET の複合書式指定機能は、オブジェクトのリストおよび複合書式指定文字列を入力として使用します。The .NET composite formatting feature takes a list of objects and a composite format string as input. 複合書式指定文字列は、固定テキストに、書式指定項目と呼ばれるインデックス化されたプレースホルダーが混合されて構成されます。このプレースホルダーはリスト内のオブジェクトに対応します。A composite format string consists of fixed text intermixed with indexed placeholders, called format items, that correspond to the objects in the list. 書式設定操作によって生成される結果の文字列は、元の固定テキストに文字列で表されたリスト内のオブジェクトが混合されて構成されます。The formatting operation yields a result string that consists of the original fixed text intermixed with the string representation of the objects in the list.

複合書式指定機能をサポートするメソッドには、次のようなものがあります。The composite formatting feature is supported by methods such as the following:

複合書式指定文字列Composite Format String

複合書式指定文字列とオブジェクト リストは、複合書式指定機能をサポートするメソッドの引数として使用されます。A composite format string and object list are used as arguments of methods that support the composite formatting feature. 複合書式指定文字列は、1 つ以上の書式指定項目が混合された 0 個以上の固定テキストで構成されます。A composite format string consists of zero or more runs of fixed text intermixed with one or more format items. 固定テキストはユーザーが任意に選択した文字列で、各書式指定項目はリスト内のオブジェクトまたはボックス化された構造体に対応します。The fixed text is any string that you choose, and each format item corresponds to an object or boxed structure in the list. 複合書式指定機能は、各書式指定項目がリスト内の対応するオブジェクトの文字列表現で置換された新しい文字列を返します。The composite formatting feature returns a new result string where each format item is replaced by the string representation of the corresponding object in the list.

次の Format コードがあるとします。Consider the following Format code fragment.

string name = "Fred";
String.Format("Name = {0}, hours = {1:hh}", name, DateTime.Now);
Dim name As String = "Fred"
String.Format("Name = {0}, hours = {1:hh}", name, DateTime.Now)

固定テキストは、"Name = " および ", hours = " です。The fixed text is "Name = " and ", hours = ". 書式指定項目の 1 つは、インデックスが 0 である "{0}" であり、オブジェクト name に対応します。もう 1 つはインデックスが 1 である "{1:hh}" であり、オブジェクト DateTime.Now に対応します。The format items are "{0}", whose index is 0, which corresponds to the object name, and "{1:hh}", whose index is 1, which corresponds to the object DateTime.Now.

書式指定項目の構文Format Item Syntax

各書式指定項目は、次の形式を使用し、次のコンポーネントで構成されます。Each format item takes the following form and consists of the following components:

{ index[,alignment][:formatString]}{ index[,alignment][:formatString]}

対になった中かっこ ("{" と "}") が必要です。The matching braces ("{" and "}") are required.

Index コンポーネントIndex Component

必須の index コンポーネントは、パラメーター指定子とも呼ばれ、オブジェクトのリスト内で対応する項目を識別するための 0 から始まる数値です。The mandatory index component, also called a parameter specifier, is a number starting from 0 that identifies a corresponding item in the list of objects. つまり、パラメーター指定子が 0 である書式指定項目はリスト内の最初のオブジェクトを書式設定し、パラメーター指定子が 1 である書式指定項目はリスト内の 2 番目のオブジェクトを書式設定します。That is, the format item whose parameter specifier is 0 formats the first object in the list, the format item whose parameter specifier is 1 formats the second object in the list, and so on. 次の例には、10 未満の素数を表す 4 つのパラメーター指定子 (0 ~ 3 の番号が付けられている) が含まれています。The following example includes four parameter specifiers, numbered zero through three, to represent prime numbers less than ten:

string primes;
primes = String.Format("Prime numbers less than 10: {0}, {1}, {2}, {3}",
                       2, 3, 5, 7 );
Console.WriteLine(primes);
// The example displays the following output:
//      Prime numbers less than 10: 2, 3, 5, 7
Dim primes As String
primes = String.Format("Prime numbers less than 10: {0}, {1}, {2}, {3}",
                       2, 3, 5, 7 )
Console.WriteLine(primes)
' The example displays the following output:
'      Prime numbers less than 10: 2, 3, 5, 7

同じパラメーター指定子を指定することによって、複数の書式指定項目でオブジェクトのリスト内の同じ要素を参照できます。Multiple format items can refer to the same element in the list of objects by specifying the same parameter specifier. たとえば、次の例に示すように、"0x{0:X} {0:E} {0:N}" など、複合書式文字列を指定することで、16 進数、指数、および数字形式で同じ数値の書式を指定できます。For example, you can format the same numeric value in hexadecimal, scientific, and number format by specifying a composite format string such as : "0x{0:X} {0:E} {0:N}", as the following example shows.

string multiple = String.Format("0x{0:X} {0:E} {0:N}",
                                Int64.MaxValue);
Console.WriteLine(multiple);
// The example displays the following output:
//      0x7FFFFFFFFFFFFFFF 9.223372E+018 9,223,372,036,854,775,807.00
Dim multiple As String = String.Format("0x{0:X} {0:E} {0:N}",
                                       Int64.MaxValue)
Console.WriteLine(multiple)
' The example displays the following output:
'      0x7FFFFFFFFFFFFFFF 9.223372E+018 9,223,372,036,854,775,807.00

各書式指定項目は、リスト内のどのオブジェクトでも参照できます。Each format item can refer to any object in the list. たとえば、3 つのオブジェクトがある場合は、"{1} {0} {2}" などの複合書式文字列を指定して、2 番目、1 番目、3 番目のオブジェクトの書式を指定できます。For example, if there are three objects, you can format the second, first, and third object by specifying a composite format string like this: "{1} {0} {2}". 書式指定項目で参照されないオブジェクトは無視されます。An object that is not referenced by a format item is ignored. パラメーター指定子がオブジェクトのリストの範囲外の項目を指定する場合は、ランタイムに FormatException がスローされます。A FormatException is thrown at runtime if a parameter specifier designates an item outside the bounds of the list of objects.

Alignment コンポーネントAlignment Component

省略可能な alignment コンポーネントは、書式設定フィールドの幅を指定する符号付き整数です。The optional alignment component is a signed integer indicating the preferred formatted field width. alignment の値が書式設定する文字列の長さよりも小さい場合、alignment は無視され、書式設定する文字列の長さがフィールドの幅として使用されます。If the value of alignment is less than the length of the formatted string, alignment is ignored and the length of the formatted string is used as the field width. フィールド内の書式設定されたデータは、alignment が正の場合は右揃え、alignment が負の場合は左揃えされます。The formatted data in the field is right-aligned if alignment is positive and left-aligned if alignment is negative. 埋め込みが必要な場合は、空白が使用されます。If padding is necessary, white space is used. alignment を指定する場合は、コンマが必要です。The comma is required if alignment is specified.

次の例では、2 つの配列を定義します。1 つの配列には従業員の名前が含まれていて、もう 1 つの配列には従業員が 2 週間にわたって作業した時間数が含まれています。The following example defines two arrays, one containing the names of employees and the other containing the hours they worked over a two-week period. 複合書式指定文字列では、名前が 20 文字のフィールドに左揃えに指定され、時間数が 5 文字のフィールドに右揃えに指定されます。The composite format string left-aligns the names in a 20-character field, and right-aligns their hours in a 5-character field. "N1" 標準書式指定文字列も、時間を 1 桁の小数部で書式設定するために使用されることに注意してください。Note that the "N1" standard format string is also used to format the hours with one fractional digit.

using System;

public class Example
{
   public static void Main()
   {
      string[] names = { "Adam", "Bridgette", "Carla", "Daniel",
                         "Ebenezer", "Francine", "George" };
      decimal[] hours = { 40, 6.667m, 40.39m, 82, 40.333m, 80,
                                 16.75m };

      Console.WriteLine("{0,-20} {1,5}\n", "Name", "Hours");
      for (int ctr = 0; ctr < names.Length; ctr++)
         Console.WriteLine("{0,-20} {1,5:N1}", names[ctr], hours[ctr]);

   }
}
// The example displays the following output:
//       Name                 Hours
//
//       Adam                  40.0
//       Bridgette              6.7
//       Carla                 40.4
//       Daniel                82.0
//       Ebenezer              40.3
//       Francine              80.0
//       George                16.8
Module Example
   Public Sub Main()
      Dim names() As String = { "Adam", "Bridgette", "Carla", "Daniel",
                                "Ebenezer", "Francine", "George" }
      Dim hours() As Decimal = { 40, 6.667d, 40.39d, 82, 40.333d, 80,
                                 16.75d }

      Console.WriteLine("{0,-20} {1,5}", "Name", "Hours")
      Console.WriteLine()
      For ctr As Integer = 0 To names.Length - 1
         Console.WriteLine("{0,-20} {1,5:N1}", names(ctr), hours(ctr))
      Next
   End Sub
End Module
' The example displays the following output:
'       Name                 Hours
'
'       Adam                  40.0
'       Bridgette              6.7
'       Carla                 40.4
'       Daniel                82.0
'       Ebenezer              40.3
'       Francine              80.0
'       George                16.8

Format String コンポーネントFormat String Component

オプションの formatString コンポーネントは、書式設定されるオブジェクトの種類に適した書式指定文字列です。The optional formatString component is a format string that is appropriate for the type of object being formatted. 対応するオブジェクトが数値の場合は標準またはカスタムの数値書式指定文字列を指定し、対応するオブジェクトが DateTime オブジェクトの場合は標準またはカスタムの日時書式指定文字列を指定し、対応するオブジェクトが列挙値の場合は列挙型書式指定文字列を指定します。Specify a standard or custom numeric format string if the corresponding object is a numeric value, a standard or custom date and time format string if the corresponding object is a DateTime object, or an enumeration format string if the corresponding object is an enumeration value. formatString が指定されない場合は、数値、日付と時刻、または列挙型の汎用 ("G") 書式指定子が使用されます。If formatString is not specified, the general ("G") format specifier for a numeric, date and time, or enumeration type is used. formatString を指定する場合はコロンが必要です。The colon is required if formatString is specified.

次の表は、定義済みの一連の書式指定文字列をサポートする .NET Framework クラス ライブラリ内の型または型のカテゴリの一覧です。サポートされている書式指定文字列が示されているトピックへのリンクも含まれています。The following table lists types or categories of types in the .NET Framework class library that support a predefined set of format strings, and provides links to the topics that list the supported format strings. 文字列の書式設定とは拡張可能な機構で、既存のすべての型に対する新しい書式指定文字列を定義できるだけでなく、アプリケーション定義の型でサポートされる一連の書式指定文字列も定義できます。Note that string formatting is an extensible mechanism that makes it possible to define new format strings for all existing types as well as to define a set of format strings supported by an application-defined type. 詳しくは、IFormattable および ICustomFormatter のインターフェイスに関するトピックを参照してください。For more information, see the IFormattable and ICustomFormatter interface topics.

型または型のカテゴリType or type category 解決方法については、See
日付と時刻の型 (DateTimeDateTimeOffset)Date and time types (DateTime, DateTimeOffset) Standard Date and Time Format StringsStandard Date and Time Format Strings

Custom Date and Time Format StringsCustom Date and Time Format Strings
列挙型 (System.Enum から派生したすべての型)Enumeration types (all types derived from System.Enum) Enumeration Format StringsEnumeration Format Strings
数値型 (BigIntegerByteDecimalDoubleInt16Int32Int64SByteSingleUInt16UInt32UInt64)Numeric types (BigInteger, Byte, Decimal, Double, Int16, Int32, Int64, SByte, Single, UInt16, UInt32, UInt64) Standard Numeric Format StringsStandard Numeric Format Strings

Custom Numeric Format StringsCustom Numeric Format Strings
Guid Guid.ToString(String)
TimeSpan 標準の時間間隔書式指定文字列Standard TimeSpan Format Strings

カスタム時間間隔書式指定文字列Custom TimeSpan Format Strings

エスケープ中かっこ ({})Escaping Braces

左中かっこ ({) および右中かっこ (}) は、書式指定項目の開始および終了として解釈されます。Opening and closing braces are interpreted as starting and ending a format item. したがって、左中かっこおよび右中かっこを文字として表示するためには、エスケープ シーケンスを使用する必要があります。Consequently, you must use an escape sequence to display a literal opening brace or closing brace. 左中かっこを 1 つ ("{") 表示するには、左中かっこ 2 つ ("{{") を固定テキストに指定します。また、右中かっこを 1 つ ("}") 表示するには、右中かっこ 2 つ ("}}") を指定します。Specify two opening braces ("{{") in the fixed text to display one opening brace ("{"), or two closing braces ("}}") to display one closing brace ("}"). 書式指定項目に使用されている中かっこは、指定されている順序に従って解釈されます。Braces in a format item are interpreted sequentially in the order they are encountered. 入れ子になった中かっこを解釈する機能はサポートされていません。Interpreting nested braces is not supported.

エスケープされた中かっこの解釈によっては、予測しない結果になる場合があります。The way escaped braces are interpreted can lead to unexpected results. たとえば、書式項目 "{{{0:D}}}" があるとします。これは、始まりの中かっこ、10 進数で表記された数値、閉じ中かっこを表示することを意図しています。For example, consider the format item "{{{0:D}}}", which is intended to display an opening brace, a numeric value formatted as a decimal number, and a closing brace. しかし、この書式指定項目は、実際には、次のように解釈されます。However, the format item is actually interpreted in the following manner:

  1. 最初の 2 つの左中かっこ ("{{") がエスケープされ、左中かっこ 1 つが作成されます。The first two opening braces ("{{") are escaped and yield one opening brace.

  2. 次の 3 文字 ("{0:") は、書式指定項目の開始として解釈されます。The next three characters ("{0:") are interpreted as the start of a format item.

  3. 次の文字 ("D") は、Decimal 標準数値書式指定子として解釈できますが、エスケープされた次の 2 つの右中かっこ ("}}") からは単一の中かっこが作成されます。The next character ("D") would be interpreted as the Decimal standard numeric format specifier, but the next two escaped braces ("}}") yield a single brace. 結果として作成される文字列 ("D}") は、標準数値書式指定子ではないため、リテラル文字列 "D}" の表示を意味するカスタム書式指定文字列として解釈されます。Because the resulting string ("D}") is not a standard numeric format specifier, the resulting string is interpreted as a custom format string that means display the literal string "D}".

  4. 最後の中かっこ ("}") は、書式指定項目の終わりとして解釈されます。The last brace ("}") is interpreted as the end of the format item.

  5. 最終的には、"{D}" というリテラル文字列が表示されます。The final result that is displayed is the literal string, "{D}". 書式設定対象だった数値は、表示されません。The numeric value that was to be formatted is not displayed.

エスケープした中かっこと書式指定項目とが誤って解釈されないコードを記述するためには、中かっこと書式指定項目を別々に書式設定するという方法があります。One way to write your code to avoid misinterpreting escaped braces and format items is to format the braces and format item separately. つまり、最初の書式設定操作でリテラルの開く中かっこを表示し、次の書式設定操作で書式指定項目の結果を表示し、最後の操作でリテラルの閉じる中かっこを表示します。That is, in the first format operation display a literal opening brace, in the next operation display the result of the format item, then in the final operation display a literal closing brace. このアプローチの例を次に示します。The following example illustrates this approach.

int value = 6324;
string output = string.Format("{0}{1:D}{2}", 
                             "{", value, "}");
Console.WriteLine(output);
// The example displays the following output:
//       {6324}                            
Dim value As Integer = 6324
Dim output As String = String.Format("{0}{1:D}{2}", _
                                     "{", value, "}")
Console.WriteLine(output)   
' The example displays the following output:
'       {6324}

処理の順序Processing Order

複合書式指定メソッドの呼び出しに、値が IFormatProvider でない null 引数が含まれている場合、ランタイムはその IFormatProvider.GetFormat メソッドを呼び出して、ICustomFormatter 実装を要求します。If the call to the composite formatting method includes an IFormatProvider argument whose value is not null, the runtime calls its IFormatProvider.GetFormat method to request an ICustomFormatter implementation. このメソッドが ICustomFormatter 実装を返すことができる場合、実装は複合書式指定メソッドの呼び出しの期間中キャッシュされます。If the method is able to return an ICustomFormatter implementation, it's cached for the duration of the call of the composite formatting method.

書式指定項目に対応するパラメーター リストのそれぞれの値は、次のように文字列に変換されます。Each value in the parameter list that corresponds to a format item is converted to a string as follows:

  1. 書式設定する値が null の場合は、空の文字列 String.Empty が返されます。If the value to be formatted is null, an empty string String.Empty is returned.

  2. ICustomFormatter 実装が利用できる場合、ランタイムはその Format メソッドを呼び出します。If an ICustomFormatter implementation is available, the runtime calls its Format method. メソッドには書式指定項目の formatString 値 (ある場合) または null (ない場合) と、IFormatProvider 実装が渡されます。It passes the method the format item's formatString value, if one is present, or null if it's not, along with the IFormatProvider implementation. ICustomFormatter.Format メソッドの呼び出しから null が返ると、実行は次のステップに進みます。それ以外の場合は、ICustomFormatter.Format の呼び出しの結果が返されます。If the call to the ICustomFormatter.Format method returns null, execution proceeds to the next step; otherwise, the result of the ICustomFormatter.Format call is returned.

  3. 値が IFormattable インターフェイスを実装している場合は、インターフェイスの ToString(String, IFormatProvider) メソッドが呼び出されます。If the value implements the IFormattable interface, the interface's ToString(String, IFormatProvider) method is called. メソッドは、formatString 値 (書式指定項目内に値がある場合) または null (ない場合) を受け取ります。The method is passed the formatString value, if one is present in the format item, or null if it's not. IFormatProvider 引数は、次のように判断されます。The IFormatProvider argument is determined as follows:

    • 数値の場合、null 以外の IFormatProvider 引数を持つ複合書式指定メソッドが呼び出されると、ランタイムは NumberFormatInfo メソッドから IFormatProvider.GetFormat オブジェクトを要求します。For a numeric value, if a composite formatting method with a non-null IFormatProvider argument is called, the runtime requests a NumberFormatInfo object from its IFormatProvider.GetFormat method. オブジェクトを 1 つも取得できないか、引数の値が null であるか、または複合書式指定メソッドに IFormatProvider パラメーターがない場合は、現在のスレッド カルチャの NumberFormatInfo オブジェクトが使用されます。If it's unable to supply one, if the value of the argument is null, or if the composite formatting method doesn't have an IFormatProvider parameter, the NumberFormatInfo object for the current thread culture is used.

    • 日付と時刻の値の場合、null 以外の IFormatProvider 引数を持つ複合書式指定メソッドが呼び出されると、ランタイムは DateTimeFormatInfo メソッドから IFormatProvider.GetFormat オブジェクトを要求します。For a date and time value, if a composite formatting method with a non-null IFormatProvider argument is called, the runtime requests a DateTimeFormatInfo object from its IFormatProvider.GetFormat method. オブジェクトを 1 つも取得できないか、引数の値が null であるか、または複合書式指定メソッドに IFormatProvider パラメーターがない場合は、現在のスレッド カルチャの DateTimeFormatInfo オブジェクトが使用されます。If it's unable to supply one, if the value of the argument is null, or if the composite formatting method doesn't have an IFormatProvider parameter, the DateTimeFormatInfo object for the current thread culture is used.

    • 他の型のオブジェクトの場合、IFormatProvider 引数を使用して複合書式のメソッドを呼び出すと、その値は IFormattable.ToString 実装に直接渡されます。For objects of other types, if a composite formatting method is called with an IFormatProvider argument, its value is passed directly to the IFormattable.ToString implementation. それ以外の場合は、nullIFormattable.ToString 実装に渡されます。Otherwise, null is passed to the IFormattable.ToString implementation.

  4. ToString をオーバーライドするか、基底クラスの動作を継承する、型のパラメーターなしの Object.ToString() メソッドが呼び出されます。The type's parameterless ToString method, which either overrides Object.ToString() or inherits the behavior of its base class, is called. この場合、書式指定項目の formatString コンポーネントで指定されている書式指定文字列は、存在していても無視されます。In this case, the format string specified by the formatString component in the format item, if it's present, is ignored.

前の手順が実行された後、アラインメントが適用されます。Alignment is applied after the preceding steps have been performed.

コード例Code Examples

複合書式指定を使用して文字列を作成する方法と、オブジェクトの ToString メソッドを使用して文字列を作成する方法を示すコード例を次に示します。The following example shows one string created using composite formatting and another created using an object's ToString method. この 2 つの書式設定方法では、等価の文字列が作成されます。Both types of formatting produce equivalent results.

string FormatString1 = String.Format("{0:dddd MMMM}", DateTime.Now);
string FormatString2 = DateTime.Now.ToString("dddd MMMM");
Dim FormatString1 As String = String.Format("{0:dddd MMMM}", DateTime.Now)
Dim FormatString2 As String = DateTime.Now.ToString("dddd MMMM") 

現在の曜日が木曜日であり、月が 5 月であり、現在のカルチャが英語 (U.S.) の場合、上記のコード例で作成される 2 つの文字列の値はどちらも Thursday Mayです。Assuming that the current day is a Thursday in May, the value of both strings in the preceding example is Thursday May in the U.S. English culture.

Console.WriteLine は、String.Format と同じ機能を公開します。Console.WriteLine exposes the same functionality as String.Format. これら 2 つのメソッドの唯一の違いは、String.Format が結果を文字列で返すのに対し、Console.WriteLine は、Console オブジェクトに関連付けられた出力ストリームに結果を書き出す点です。The only difference between the two methods is that String.Format returns its result as a string, while Console.WriteLine writes the result to the output stream associated with the Console object. Console.WriteLine メソッドを使用して値 MyInt を通貨値として書式設定するコード例を次に示します。The following example uses the Console.WriteLine method to format the value of MyInt to a currency value.

int MyInt = 100;
Console.WriteLine("{0:C}", MyInt);
// The example displays the following output 
// if en-US is the current culture:
//        $100.00
Dim MyInt As Integer = 100
Console.WriteLine("{0:C}", MyInt)
' The example displays the following output
' if en-US is the current culture:
'        $100.00

1 つのオブジェクトを 2 つの方法で書式設定する例を含め、複数のオブジェクトを書式設定する例を次に示します。The following example demonstrates formatting multiple objects, including formatting one object two different ways.

string myName = "Fred";
Console.WriteLine(String.Format("Name = {0}, hours = {1:hh}, minutes = {1:mm}",
      myName, DateTime.Now));
// Depending on the current time, the example displays output like the following:
//    Name = Fred, hours = 11, minutes = 30                 
Dim myName As String = "Fred"
Console.WriteLine(String.Format("Name = {0}, hours = {1:hh}, minutes = {1:mm}", _
                  myName, DateTime.Now))
' Depending on the current time, the example displays output like the following:
'    Name = Fred, hours = 11, minutes = 30                 

書式設定でアラインメントを使用する方法を示す例を次に示します。The following example demonstrates the use of alignment in formatting. アラインメント結果を強調表示するため、書式が設定される引数を縦棒 (|) で囲んでいます。The arguments that are formatted are placed between vertical bar characters (|) to highlight the resulting alignment.

string myFName = "Fred";
string myLName = "Opals";
int myInt = 100;
string FormatFName = String.Format("First Name = |{0,10}|", myFName);
string FormatLName = String.Format("Last Name = |{0,10}|", myLName);
string FormatPrice = String.Format("Price = |{0,10:C}|", myInt); 
Console.WriteLine(FormatFName);
Console.WriteLine(FormatLName);
Console.WriteLine(FormatPrice);
Console.WriteLine();

FormatFName = String.Format("First Name = |{0,-10}|", myFName);
FormatLName = String.Format("Last Name = |{0,-10}|", myLName);
FormatPrice = String.Format("Price = |{0,-10:C}|", myInt);
Console.WriteLine(FormatFName);
Console.WriteLine(FormatLName);
Console.WriteLine(FormatPrice);
// The example displays the following output on a system whose current
// culture is en-US:
//          First Name = |      Fred|
//          Last Name = |     Opals|
//          Price = |   $100.00|
//
//          First Name = |Fred      |
//          Last Name = |Opals     |
//          Price = |$100.00   |
Dim myFName As String = "Fred"
Dim myLName As String = "Opals"

Dim myInt As Integer = 100
Dim FormatFName As String = String.Format("First Name = |{0,10}|", myFName)
Dim FormatLName As String = String.Format("Last Name = |{0,10}|", myLName)
Dim FormatPrice As String = String.Format("Price = |{0,10:C}|", myInt)
Console.WriteLine(FormatFName)
Console.WriteLine(FormatLName)
Console.WriteLine(FormatPrice)
Console.WriteLine()

FormatFName = String.Format("First Name = |{0,-10}|", myFName)
FormatLName = String.Format("Last Name = |{0,-10}|", myLName)
FormatPrice = String.Format("Price = |{0,-10:C}|", myInt)
Console.WriteLine(FormatFName)
Console.WriteLine(FormatLName)
Console.WriteLine(FormatPrice)
' The example displays the following output on a system whose current
' culture is en-US:
'          First Name = |      Fred|
'          Last Name = |     Opals|
'          Price = |   $100.00|
'
'          First Name = |Fred      |
'          Last Name = |Opals     |
'          Price = |$100.00   |

参照See Also

WriteLine
String.Format
文字列補間 (C#)String interpolation (C#)
文字列補間 (Visual Basic)String interpolation (Visual Basic)
型の書式設定Formatting Types
標準の数値書式指定文字列Standard Numeric Format Strings
カスタム数値書式指定文字列Custom Numeric Format Strings
標準の日時書式指定文字列Standard Date and Time Format Strings
カスタム日時書式指定文字列Custom Date and Time Format Strings
標準の時間間隔書式指定文字列Standard TimeSpan Format Strings
カスタム時間間隔書式指定文字列Custom TimeSpan Format Strings
Enumeration Format StringsEnumeration Format Strings