Udostępnij za pośrednictwem


String.Format Metoda

Definicja

Konwertuje wartość obiektów na ciągi na podstawie określonych formatów i wstawia je do innego ciągu.

Jeśli dopiero zaczynasz korzystać z metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format, aby zapoznać się z krótkim omówieniem.

Przeciążenia

Format(IFormatProvider, String, Object[])

Zamienia elementy formatu w ciągu na reprezentacje ciągów odpowiadających im obiektów w określonej tablicy. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

Format(IFormatProvider, String, Object, Object, Object)

Zamienia elementy formatu w ciągu na ciąg na reprezentację ciągu trzech określonych obiektów. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

Format(String, Object, Object, Object)

Zamienia elementy formatu w ciągu na ciąg na reprezentację ciągu trzech określonych obiektów.

Format(IFormatProvider, String, Object, Object)

Zamienia elementy formatu w ciągu na reprezentację ciągu dwóch określonych obiektów. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

Format(String, Object, Object)

Zamienia elementy formatu w ciągu na reprezentację ciągu dwóch określonych obiektów.

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

Format(IFormatProvider, String, Object)

Zamienia element formatu lub elementy w określonym ciągu na ciąg reprezentujący odpowiedni obiekt. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

Format(IFormatProvider, String, ReadOnlySpan<Object>)

Zamienia elementy formatu w ciągu na reprezentacje ciągów odpowiadających im obiektów w określonym zakresie. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

Format(String, ReadOnlySpan<Object>)

Zamienia element formatu w określonym ciągu na ciąg reprezentujący odpowiedni obiekt w określonym zakresie.

Format(String, Object[])

Zamienia element formatu w określonym ciągu na ciąg reprezentujący odpowiedni obiekt w określonej tablicy.

Format(String, Object)

Zamienia co najmniej jeden element formatu w ciągu na reprezentację ciągu określonego obiektu.

Format(IFormatProvider, CompositeFormat, Object[])

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2)

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1)

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz uwagi dotyczące interfejsu API uzupełniającego string.Format.

Format(IFormatProvider, String, Object[])

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia elementy formatu w ciągu na reprezentacje ciągów odpowiadających im obiektów w określonej tablicy. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, ... cli::array <System::Object ^> ^ args);
public static string Format (IFormatProvider provider, string format, params object[] args);
public static string Format (IFormatProvider? provider, string format, params object?[] args);
static member Format : IFormatProvider * string * obj[] -> string
Public Shared Function Format (provider As IFormatProvider, format As String, ParamArray args As Object()) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

format
String

Ciąg formatu złożonego .

args
Object[]

Tablica obiektów zawierająca zero lub więcej obiektów do sformatowania.

Zwraca

Kopia format, w której elementy formatu zostały zastąpione przez reprezentację ciągu odpowiednich obiektów w args.

Wyjątki

format lub args jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu jest mniejszy niż zero lub większy lub równy długości tablicy args.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować cztery lub więcej wyrażeń na ich reprezentacje ciągów i osadzić te reprezentacje w ciągu. Podczas przeprowadzania konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje każdy argument Object na jego reprezentację ciągu, wywołując metodę ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując jego ToString(String,IFormatProvider) metody. Jeśli te metody nie istnieją, wywołuje bez parametrów obiektu ToString metody .

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą obiektu, który zapewnia formatowanie wrażliwe na kulturę lub niestandardowy oraz ciąg formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Przykład: formatowanie wrażliwe na kulturę

W tym przykładzie użyto metody Format(IFormatProvider, String, Object[]), aby wyświetlić ciąg reprezentujący niektóre wartości daty i godziny oraz wartości liczbowe przy użyciu kilku różnych kultur.

string[] cultureNames = { "en-US", "fr-FR", "de-DE", "es-ES" };

DateTime dateToDisplay = new DateTime(2009, 9, 1, 18, 32, 0);
double value = 9164.32;

Console.WriteLine("Culture     Date                                Value\n");
foreach (string cultureName in cultureNames)
{
   System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
   string output = String.Format(culture, "{0,-11} {1,-35:D} {2:N}", 
                                 culture.Name, dateToDisplay, value);
   Console.WriteLine(output);
}    
// The example displays the following output:
//    Culture     Date                                Value
//    
//    en-US       Tuesday, September 01, 2009         9,164.32
//    fr-FR       mardi 1 septembre 2009              9 164,32
//    de-DE       Dienstag, 1. September 2009         9.164,32
//    es-ES       martes, 01 de septiembre de 2009    9.164,32
open System
open System.Globalization

let cultureNames = [| "en-US"; "fr-FR"; "de-DE"; "es-ES" |]

let dateToDisplay = DateTime(2009, 9, 1, 18, 32, 0)
let value = 9164.32

printfn "Culture     Date                                Value\n"
for cultureName in cultureNames do
    let culture = CultureInfo cultureName
    String.Format(culture, "{0,-11} {1,-35:D} {2:N}", culture.Name, dateToDisplay, value)
    |> printfn "%s"
// The example displays the following output:
//    Culture     Date                                Value
//    
//    en-US       Tuesday, September 01, 2009         9,164.32
//    fr-FR       mardi 1 septembre 2009              9 164,32
//    de-DE       Dienstag, 1. September 2009         9.164,32
//    es-ES       martes, 01 de septiembre de 2009    9.164,32
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR", "de-DE", "es-ES" }
      
      Dim dateToDisplay As Date = #9/1/2009 6:32PM#
      Dim value As Double = 9164.32

      Console.WriteLine("Culture     Date                                Value")
      Console.WriteLine()      
      For Each cultureName As String In cultureNames
         Dim culture As New CultureInfo(cultureName)
         Dim output As String = String.Format(culture, "{0,-11} {1,-35:D} {2:N}", _
                                              culture.Name, dateToDisplay, value)
         Console.WriteLine(output)
      Next    
   End Sub
End Module
' The example displays the following output:
'       Culture     Date                                Value
'       
'       en-US       Tuesday, September 01, 2009         9,164.32
'       fr-FR       mardi 1 septembre 2009              9 164,32
'       de-DE       Dienstag, 1. September 2009         9.164,32
'       es-ES       martes, 01 de septiembre de 2009    9.164,32

Zobacz też

Dotyczy

Format(IFormatProvider, String, Object, Object, Object)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia elementy formatu w ciągu na ciąg na reprezentację ciągu trzech określonych obiektów. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public static string Format (IFormatProvider provider, string format, object arg0, object arg1, object arg2);
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1, object? arg2);
static member Format : IFormatProvider * string * obj * obj * obj -> string
Public Shared Function Format (provider As IFormatProvider, format As String, arg0 As Object, arg1 As Object, arg2 As Object) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

format
String

Ciąg formatu złożonego .

arg0
Object

Pierwszy obiekt do sformatowania.

arg1
Object

Drugi obiekt do sformatowania.

arg2
Object

Trzeci obiekt do sformatowania.

Zwraca

Kopia format, w której elementy formatu zostały zastąpione przez reprezentacje ciągów arg0, arg1i arg2.

Wyjątki

format jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu jest mniejszy niż zero lub większy niż dwa.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować trzy wyrażenia na ich reprezentacje ciągów i osadzić te reprezentacje w ciągu. Podczas przeprowadzania konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje każdy argument Object na jego reprezentację ciągu, wywołując metodę ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując jego ToString(String,IFormatProvider) metody. Jeśli te metody nie istnieją, wywołuje bez parametrów obiektu ToString metody .

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą obiektu, który zapewnia formatowanie wrażliwe na kulturę lub niestandardowy oraz ciąg formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Dotyczy

Format(String, Object, Object, Object)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia elementy formatu w ciągu na ciąg na reprezentację ciągu trzech określonych obiektów.

public:
 static System::String ^ Format(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public static string Format (string format, object arg0, object arg1, object arg2);
public static string Format (string format, object? arg0, object? arg1, object? arg2);
static member Format : string * obj * obj * obj -> string
Public Shared Function Format (format As String, arg0 As Object, arg1 As Object, arg2 As Object) As String

Parametry

format
String

Ciąg formatu złożonego .

arg0
Object

Pierwszy obiekt do sformatowania.

arg1
Object

Drugi obiekt do sformatowania.

arg2
Object

Trzeci obiekt do sformatowania.

Zwraca

Kopia format, w której elementy formatu zostały zastąpione przez reprezentacje ciągów arg0, arg1i arg2.

Wyjątki

format jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu jest mniejszy niż zero lub większy niż dwa.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość trzech wyrażeń na ich reprezentacje ciągów i osadzić te reprezentacje w ciągu.

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą ciągu formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Przykład: Formatowanie trzech argumentów

W tym przykładzie użyto metody Format(String, Object, Object, Object), aby utworzyć ciąg ilustrujący wynik operacji And logicznej z dwiema wartościami całkowitymi. Należy pamiętać, że ciąg formatu zawiera sześć elementów formatu, ale metoda ma tylko trzy elementy na liście parametrów, ponieważ każdy element jest sformatowany na dwa różne sposoby.

using namespace System;

void main()
{
   String^ formatString = "    {0,10} ({0,8:X8})\n" + 
                           "And {1,10} ({1,8:X8})\n" + 
                           "  = {2,10} ({2,8:X8})";
   int value1 = 16932;
   int value2 = 15421;
   String^ result = String::Format(formatString, 
                                   value1, value2, value1 & value2);
   Console::WriteLine(result);
}
// The example displays the following output:
//                16932 (00004224)
//       And      15421 (00003C3D)
//         =         36 (00000024)
string formatString = "    {0,10} ({0,8:X8})\n" + 
                      "And {1,10} ({1,8:X8})\n" + 
                      "  = {2,10} ({2,8:X8})";
int value1 = 16932;
int value2 = 15421;
string result = String.Format(formatString, 
                              value1, value2, value1 & value2);
Console.WriteLine(result);
// The example displays the following output:
//                16932 (00004224)
//       And      15421 (00003C3D)
//         =         36 (00000024)
open System

let formatString = 
    "    {0,10} ({0,8:X8})\nAnd {1,10} ({1,8:X8})\n  = {2,10} ({2,8:X8})"

let value1 = 16932
let value2 = 15421
String.Format(formatString, value1, value2, value1 &&& value2)
|> printfn "%s"
// The example displays the following output:
//                16932 (00004224)
//       And      15421 (00003C3D)
//         =         36 (00000024)
Public Module Example
   Public Sub Main()
      Dim formatString As String = "    {0,10} ({0,8:X8})" + vbCrLf +  _
                                   "And {1,10} ({1,8:X8})" + vbCrLf + _
                                   "  = {2,10} ({2,8:X8})"
      Dim value1 As Integer = 16932
      Dim value2 As Integer = 15421
      Dim result As String = String.Format(formatString, _
                                           value1, value2, value1 And value2)
      Console.WriteLine(result)                          
   End Sub
End Module
' The example displays the following output:
'                16932 (00004224)
'       And      15421 (00003C3D)
'         =         36 (00000024)

Zobacz też

Dotyczy

Format(IFormatProvider, String, Object, Object)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia elementy formatu w ciągu na reprezentację ciągu dwóch określonych obiektów. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public static string Format (IFormatProvider provider, string format, object arg0, object arg1);
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1);
static member Format : IFormatProvider * string * obj * obj -> string
Public Shared Function Format (provider As IFormatProvider, format As String, arg0 As Object, arg1 As Object) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

format
String

Ciąg formatu złożonego .

arg0
Object

Pierwszy obiekt do sformatowania.

arg1
Object

Drugi obiekt do sformatowania.

Zwraca

Kopia format, w której elementy formatu są zastępowane przez reprezentacje ciągów arg0 i arg1.

Wyjątki

format jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu nie jest równy zero lub jeden.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować dwa wyrażenia na ich reprezentacje ciągów i osadzić te reprezentacje w ciągu. Podczas przeprowadzania konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje każdy argument Object na jego reprezentację ciągu, wywołując metodę ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując jego ToString(String,IFormatProvider) metody. Jeśli te metody nie istnieją, wywołuje bez parametrów obiektu ToString metody .

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą obiektu, który zapewnia formatowanie wrażliwe na kulturę lub niestandardowy oraz ciąg formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Dotyczy

Format(String, Object, Object)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia elementy formatu w ciągu na reprezentację ciągu dwóch określonych obiektów.

public:
 static System::String ^ Format(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public static string Format (string format, object arg0, object arg1);
public static string Format (string format, object? arg0, object? arg1);
static member Format : string * obj * obj -> string
Public Shared Function Format (format As String, arg0 As Object, arg1 As Object) As String

Parametry

format
String

Ciąg formatu złożonego .

arg0
Object

Pierwszy obiekt do sformatowania.

arg1
Object

Drugi obiekt do sformatowania.

Zwraca

Kopia format, w której elementy formatu są zastępowane przez reprezentacje ciągów arg0 i arg1.

Wyjątki

format jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu nie jest równy zero lub jeden.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość dwóch wyrażeń na ich reprezentacje ciągów i osadzić te reprezentacje w ciągu.

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą ciągu formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Przykład: formatowanie dwóch argumentów

W tym przykładzie użyto metody Format(String, Object, Object) do wyświetlania danych dotyczących czasu i temperatury przechowywanych w ogólnym obiekcie Dictionary<TKey,TValue>. Należy pamiętać, że ciąg formatu ma trzy elementy formatu, chociaż istnieją tylko dwa obiekty do sformatowania. Jest to spowodowane tym, że pierwszy obiekt na liście (wartość daty i godziny) jest używany przez dwa elementy formatu: pierwszy element formatu wyświetla godzinę, a drugi wyświetla datę.

using namespace System;
using namespace System::Collections::Generic;

void main()
{
   Dictionary<DateTime, Double>^ temperatureInfo = gcnew Dictionary<DateTime, Double>(); 
   temperatureInfo->Add(DateTime(2010, 6, 1, 14, 0, 0), 87.46);
   temperatureInfo->Add(DateTime(2010, 12, 1, 10, 0, 0), 36.81);
      
   Console::WriteLine("Temperature Information:\n");
   String^ output;   
   for each (KeyValuePair<DateTime, Double>^ item in temperatureInfo)
   {
      output = String::Format("Temperature at {0,8:t} on {0,9:d}: {1,5:N1}�F", 
                              item->Key, item->Value);
      Console::WriteLine(output);
   }
}
// The example displays the following output:
//       Temperature Information:
//       
//       Temperature at  2:00 PM on  6/1/2010:  87.5�F
//       Temperature at 10:00 AM on 12/1/2010:  36.8�F
Dictionary<DateTime, Double> temperatureInfo = new Dictionary<DateTime, Double>(); 
temperatureInfo.Add(new DateTime(2010, 6, 1, 14, 0, 0), 87.46);
temperatureInfo.Add(new DateTime(2010, 12, 1, 10, 0, 0), 36.81);

Console.WriteLine("Temperature Information:\n");
string output;   
foreach (var item in temperatureInfo)
{
   output = String.Format("Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F", 
                          item.Key, item.Value);
   Console.WriteLine(output);
}
// The example displays output like the following:
//       Temperature Information:
//       
//       Temperature at  2:00 PM on  6/1/2010:  87.5°F
//       Temperature at 10:00 AM on 12/1/2010:  36.8°F
open System
open System.Collections.Generic

let temperatureInfo = Dictionary<DateTime, float>() 
temperatureInfo.Add(DateTime(2010, 6, 1, 14, 0, 0), 87.46)
temperatureInfo.Add(DateTime(2010, 12, 1, 10, 0, 0), 36.81)

printfn $"Temperature Information:\n"
for item in temperatureInfo do
   String.Format("Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F", item.Key, item.Value)
   |> printfn "%s"
// The example displays output like the following:
//       Temperature Information:
//       
//       Temperature at  2:00 PM on  6/1/2010:  87.5°F
//       Temperature at 10:00 AM on 12/1/2010:  36.8°F
Imports System.Collections.Generic

Module Example
   Public Sub Main()
      Dim temperatureInfo As New Dictionary(Of Date, Double) 
      temperatureInfo.Add(#6/1/2010 2:00PM#, 87.46)
      temperatureInfo.Add(#12/1/2010 10:00AM#, 36.81)
      
      Console.WriteLine("Temperature Information:")
      Console.WriteLine()
      Dim output As String   
      For Each item In temperatureInfo
         output = String.Format("Temperature at {0,8:t} on {0,9:d}: {1,5:N1}°F", _
                                item.Key, item.Value)
         Console.WriteLine(output)
      Next
   End Sub
End Module
' The example displays the following output:
'       Temperature Information:
'       
'       Temperature at  2:00 PM on  6/1/2010:  87.5°F
'       Temperature at 10:00 AM on 12/1/2010:  36.8°F

Zobacz też

Dotyczy

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, ReadOnlySpan<System::Object ^> args);
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, ReadOnlySpan<object?> args);
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, scoped ReadOnlySpan<object?> args);
static member Format : IFormatProvider * System.Text.CompositeFormat * ReadOnlySpan<obj> -> string
Public Shared Function Format (provider As IFormatProvider, format As CompositeFormat, args As ReadOnlySpan(Of Object)) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

args
ReadOnlySpan<Object>

Zakres obiektów do formatowania.

Zwraca

Sformatowany ciąg.

Wyjątki

format jest null.

Indeks elementu formatu jest większy lub równy liczbie podanych argumentów.

Dotyczy

Format(IFormatProvider, String, Object)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu lub elementy w określonym ciągu na ciąg reprezentujący odpowiedni obiekt. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, System::Object ^ arg0);
public static string Format (IFormatProvider provider, string format, object arg0);
public static string Format (IFormatProvider? provider, string format, object? arg0);
static member Format : IFormatProvider * string * obj -> string
Public Shared Function Format (provider As IFormatProvider, format As String, arg0 As Object) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

format
String

Ciąg formatu złożonego .

arg0
Object

Obiekt do sformatowania.

Zwraca

Kopia format, w której element formatu lub elementy zostały zastąpione przez reprezentację ciągu arg0.

Wyjątki

format jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu nie jest zerowy.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość wyrażenia na reprezentację ciągu i osadzić tę reprezentację w ciągu. Podczas przeprowadzania konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje arg0 na reprezentację ciągu, wywołując metodę ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując jego ToString(String,IFormatProvider) metodę. Jeśli te metody nie istnieją, wywołuje bez parametrów obiektu ToString metody .

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą obiektu, który zapewnia formatowanie wrażliwe na kulturę lub niestandardowy oraz ciąg formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Dotyczy

Format(IFormatProvider, String, ReadOnlySpan<Object>)

Zamienia elementy formatu w ciągu na reprezentacje ciągów odpowiadających im obiektów w określonym zakresie. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::String ^ format, ReadOnlySpan<System::Object ^> args);
public static string Format (IFormatProvider? provider, string format, scoped ReadOnlySpan<object?> args);
static member Format : IFormatProvider * string * ReadOnlySpan<obj> -> string
Public Shared Function Format (provider As IFormatProvider, format As String, args As ReadOnlySpan(Of Object)) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

format
String

Ciąg formatu złożonego .

args
ReadOnlySpan<Object>

Zakres obiektu, który zawiera zero lub więcej obiektów do sformatowania.

Zwraca

Kopia format, w której elementy formatu zostały zastąpione przez reprezentację ciągu odpowiednich obiektów w args.

Dotyczy

Format(String, ReadOnlySpan<Object>)

Zamienia element formatu w określonym ciągu na ciąg reprezentujący odpowiedni obiekt w określonym zakresie.

public:
 static System::String ^ Format(System::String ^ format, ReadOnlySpan<System::Object ^> args);
public static string Format (string format, scoped ReadOnlySpan<object?> args);
static member Format : string * ReadOnlySpan<obj> -> string
Public Shared Function Format (format As String, args As ReadOnlySpan(Of Object)) As String

Parametry

format
String

Ciąg formatu złożonego .

args
ReadOnlySpan<Object>

Zakres obiektu, który zawiera zero lub więcej obiektów do sformatowania.

Zwraca

Kopia format, w której elementy formatu zostały zastąpione przez reprezentację ciągu odpowiednich obiektów w args.

Dotyczy

Format(String, Object[])

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu w określonym ciągu na ciąg reprezentujący odpowiedni obiekt w określonej tablicy.

public:
 static System::String ^ Format(System::String ^ format, ... cli::array <System::Object ^> ^ args);
public static string Format (string format, params object[] args);
public static string Format (string format, params object?[] args);
static member Format : string * obj[] -> string
Public Shared Function Format (format As String, ParamArray args As Object()) As String

Parametry

format
String

Ciąg formatu złożonego .

args
Object[]

Tablica obiektów zawierająca zero lub więcej obiektów do sformatowania.

Zwraca

Kopia format, w której elementy formatu zostały zastąpione przez reprezentację ciągu odpowiednich obiektów w args.

Wyjątki

format lub args jest null.

format jest nieprawidłowa.

-lub-

Indeks elementu formatu jest mniejszy niż zero lub większy lub równy długości tablicy args.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość czterech lub więcej wyrażeń na ich reprezentacje ciągów i osadzić te reprezentacje w ciągu. Ponieważ parametr args jest oznaczony atrybutem System.ParamArrayAttribute, można przekazać obiekty do metody jako poszczególne argumenty lub jako tablicę Object.

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą ciągu formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Przykład: Formatowanie więcej niż trzech argumentów

W tym przykładzie tworzony jest ciąg zawierający dane o wysokiej i niskiej temperaturze w określonej dacie. Ciąg formatu złożonego zawiera pięć elementów formatu w przykładzie języka C# i sześć w przykładzie języka Visual Basic. Dwa elementy formatu definiują szerokość odpowiedniej reprezentacji ciągu wartości, a pierwszy element formatu zawiera również standardowy ciąg formatu daty i godziny.

using namespace System;

void main()
{
   DateTime date1 = DateTime(2009, 7, 1);
   TimeSpan hiTime = TimeSpan(14, 17, 32);
   Decimal hiTemp = (Decimal) 62.1; 
   TimeSpan loTime = TimeSpan(3, 16, 10);
   Decimal loTemp = (Decimal)54.8; 

   String^ result1 = String::Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", 
                                    date1, hiTime, hiTemp, loTime, loTemp);
   Console::WriteLine(result1);
   Console::WriteLine();
           
   String^ result2 = String::Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", 
                                    gcnew array<Object^> { date1, hiTime, hiTemp, loTime, loTemp });
   Console::WriteLine(result2);
}
// The example displays the following output:
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
DateTime date1 = new DateTime(2009, 7, 1);
TimeSpan hiTime = new TimeSpan(14, 17, 32);
decimal hiTemp = 62.1m; 
TimeSpan loTime = new TimeSpan(3, 16, 10);
decimal loTemp = 54.8m; 

string result1 = String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", 
                               date1, hiTime, hiTemp, loTime, loTemp);
Console.WriteLine(result1);
Console.WriteLine();
     
string result2 = String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", 
                               new object[] { date1, hiTime, hiTemp, loTime, loTemp });
Console.WriteLine(result2);
// The example displays output like the following:
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
let date1 = DateTime(2009, 7, 1)
let hiTime = TimeSpan(14, 17, 32)
let hiTemp = 62.1m 
let loTime = TimeSpan(3, 16, 10)
let loTemp = 54.8m 

String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", date1, hiTime, hiTemp, loTime, loTemp)
|> printfn "%s\n"
      
String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)", [| date1 :> obj; hiTime; hiTemp; loTime; loTemp |])
|> printfn "%s"
// The example displays output like the following:
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
Module Example
   Public Sub Main()
      Dim date1 As Date = #7/1/2009#
      Dim hiTime As New TimeSpan(14, 17, 32)
      Dim hiTemp As Decimal = 62.1d 
      Dim loTime As New TimeSpan(3, 16, 10)
      Dim loTemp As Decimal = 54.8d 

      Dim result1 As String = String.Format("Temperature on {0:d}:{5}{1,11}: {2} degrees (hi){5}{3,11}: {4} degrees (lo)", _
                                           date1, hiTime, hiTemp, loTime, loTemp, vbCrLf)
      Console.WriteLine(result1)
      Console.WriteLine()
           
      Dim result2 As String = String.Format("Temperature on {0:d}:{5}{1,11}: {2} degrees (hi){5}{3,11}: {4} degrees (lo)", _
                                            New Object() { date1, hiTime, hiTemp, loTime, loTemp, vbCrLf })
      Console.WriteLine(result2)                                            
   End Sub
End Module
' The example displays the following output:
'       Temperature on 7/1/2009:
'          14:17:32: 62.1 degrees (hi)
'          03:16:10: 54.8 degrees (lo)
'
'       Temperature on 7/1/2009:
'          14:17:32: 62.1 degrees (hi)
'          03:16:10: 54.8 degrees (lo)

Można również przekazać obiekty, które mają być sformatowane jako tablica, a nie jako lista argumentów.

using namespace System;

ref class CityInfo
{
public:
   CityInfo(String^ name, int population, Decimal area, int year)
   {
      this->Name = name;
      this->Population = population;
      this->Area = area;
      this->Year = year;
   }
   
   String^ Name; 
   int Population;
   Decimal Area;
   int Year;
};

ref class Example
{
public:
   static void ShowPopulationData(CityInfo^ city)
   {
      array<Object^>^ args = gcnew array<Object^> { city->Name, city->Year, city->Population, city->Area };
      String^ result = String::Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", 
                                    args);
      Console::WriteLine(result); 
   }
};

void main()
{
   CityInfo^ nyc2010 = gcnew CityInfo("New York", 8175133, (Decimal) 302.64, 2010);
   Example::ShowPopulationData(nyc2010);
   CityInfo^ sea2010 = gcnew CityInfo("Seattle", 608660, (Decimal) 83.94, 2010);      
   Example::ShowPopulationData(sea2010); 
}
// The example displays the following output:
//       New York in 2010: Population 8,175,133, Area 302.6 sq. feet
//       Seattle in 2010: Population 608,660, Area 83.9 sq. feet
using System;

public class CityInfo
{
   public CityInfo(String name, int population, Decimal area, int year)
   {
      this.Name = name;
      this.Population = population;
      this.Area = area;
      this.Year = year;
   }
   
   public readonly String Name; 
   public readonly int Population;
   public readonly Decimal Area;
   public readonly int Year;
}

public class Example
{
   public static void Main()
   {
      CityInfo nyc2010 = new CityInfo("New York", 8175133, 302.64m, 2010);
      ShowPopulationData(nyc2010);
      CityInfo sea2010 = new CityInfo("Seattle", 608660, 83.94m, 2010);      
      ShowPopulationData(sea2010); 
   }

   private static void ShowPopulationData(CityInfo city)
   {
      object[] args = { city.Name, city.Year, city.Population, city.Area };
      String result = String.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", 
                                    args);
      Console.WriteLine(result); 
   }
}
// The example displays the following output:
//       New York in 2010: Population 8,175,133, Area 302.6 sq. feet
//       Seattle in 2010: Population 608,660, Area 83.9 sq. feet
open System

type CityInfo =
  { Name: string
    Population: int
    Area: Decimal
    Year: int }

let showPopulationData city =
    let args: obj[] = [| city.Name; city.Year; city.Population; city.Area |]
    String.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", args)
    |> printfn "%s"

{ Name = "New York"; Population = 8175133; Area = 302.64m; Year = 2010 }
|> showPopulationData

 
{ Name = "Seattle"; Population = 608660; Area = 83.94m; Year = 2010 }      
|> showPopulationData 

// The example displays the following output:
//       New York in 2010: Population 8,175,133, Area 302.6 sq. feet
//       Seattle in 2010: Population 608,660, Area 83.9 sq. feet
Public Class CityInfo
   Public Sub New(name As String, population As Integer, area As Decimal, year As Integer)
      Me.Name = name
      Me.Population = population
      Me.Area = area
      Me.Year = year
   End Sub
   
   Public ReadOnly Name As String
   Public ReadOnly Population As Integer
   Public ReadOnly Area As Decimal
   Public ReadOnly Year As Integer
End Class

Module Example
   Public Sub Main()
      Dim nyc2010 As New CityInfo("New York", 8175133, 302.64d, 2010)
      ShowPopulationData(nyc2010)
      Dim sea2010 As New CityInfo("Seattle", 608660, 83.94d, 2010)      
      ShowPopulationData(sea2010) 
   End Sub
   
   Private Sub ShowPopulationData(city As CityInfo)
      Dim args() As Object = { city.Name, city.Year, city.Population, city.Area }
      Dim result = String.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet", args)
      Console.WriteLine(result) 
   End Sub
End Module
' The example displays the following output:
'       New York in 2010: Population 8,175,133, Area 302.6 sq. feet
'       Seattle in 2010: Population 608,660, Area 83.9 sq. feet

Zobacz też

Dotyczy

Format(String, Object)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia co najmniej jeden element formatu w ciągu na reprezentację ciągu określonego obiektu.

public:
 static System::String ^ Format(System::String ^ format, System::Object ^ arg0);
public static string Format (string format, object arg0);
public static string Format (string format, object? arg0);
static member Format : string * obj -> string
Public Shared Function Format (format As String, arg0 As Object) As String

Parametry

format
String

Ciąg formatu złożonego .

arg0
Object

Obiekt do sformatowania.

Zwraca

Kopia format, w której wszystkie elementy formatu są zastępowane przez reprezentację ciągu arg0.

Wyjątki

format jest null.

Element formatu w format jest nieprawidłowy.

-lub-

Indeks elementu formatu nie jest zerowy.

Uwagi

Ważny

Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego , możesz użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany to ciąg zawierający wyrażenia interpolowane. Każde wyrażenie interpolowane jest rozpoznawane przy użyciu wartości wyrażenia i uwzględniane w ciągu wynikowym po przypisaniu ciągu. Aby uzyskać więcej informacji, zobacz Interpolacja ciągów (odwołanie w C#) i ciągi interpolowane (Odwołanie do języka Visual Basic).

Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość wyrażenia na reprezentację ciągu i osadzić tę reprezentację w ciągu.

Jednak podczas wywoływania metody String.Format nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę za pomocą ciągu formatu złożonego, który zawiera co najmniej jeden element formatu. Każdy element formatu przypisuje się indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno mieć tyle dodatkowych argumentów, jak ma wartości indeksu. Na przykład ciąg, którego elementy formatu mają indeksy 0 i 1, powinny mieć 2 argumenty; jeden z indeksami od 0 do 5 powinien mieć 6 argumentów. Kompilator języka rozwiąże wywołanie metody do określonego przeciążenia metody String.Format.

Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody String.Format, zobacz Rozpoczynanie pracy z metodą String.Format i Którą metodę wywołać?.

Przykład: formatowanie pojedynczego argumentu

W poniższym przykładzie użyto metody Format(String, Object), aby osadzić wiek osoby w środku ciągu.

using namespace System;

void main()
{
   DateTime birthdate = DateTime(1993, 7, 28);
   array<DateTime>^ dates = gcnew array<DateTime> { DateTime(1993, 8, 16), 
                                                    DateTime(1994, 7, 28), 
                                                    DateTime(2000, 10, 16), 
                                                    DateTime(2003, 7, 27), 
                                                    DateTime(2007, 5, 27) };

   for each (DateTime dateValue in dates)
   {
      TimeSpan interval = dateValue - birthdate;
      // Get the approximate number of years, without accounting for leap years.
      int years = ((int)interval.TotalDays) / 365;
      // See if adding the number of years exceeds dateValue.
      String^ output;
      if (birthdate.AddYears(years) <= dateValue) {
         output = String::Format("You are now {0} years old.", years);
         Console::WriteLine(output);
      }   
      else {
         output = String::Format("You are now {0} years old.", years - 1);
         Console::WriteLine(output);
      }      
   }
}
// The example displays the following output:
//       You are now 0 years old.
//       You are now 1 years old.
//       You are now 7 years old.
//       You are now 9 years old.
//       You are now 13 years old.
DateTime birthdate = new DateTime(1993, 7, 28);
DateTime[] dates = { new DateTime(1993, 8, 16), 
                     new DateTime(1994, 7, 28), 
                     new DateTime(2000, 10, 16), 
                     new DateTime(2003, 7, 27), 
                     new DateTime(2007, 5, 27) };

foreach (DateTime dateValue in dates)
{
   TimeSpan interval = dateValue - birthdate;
   // Get the approximate number of years, without accounting for leap years.
   int years = ((int) interval.TotalDays) / 365;
   // See if adding the number of years exceeds dateValue.
   string output;
   if (birthdate.AddYears(years) <= dateValue) {
      output = String.Format("You are now {0} years old.", years);
      Console.WriteLine(output);
   }   
   else {
      output = String.Format("You are now {0} years old.", years - 1);
      Console.WriteLine(output);
   }      
}
// The example displays the following output:
//       You are now 0 years old.
//       You are now 1 years old.
//       You are now 7 years old.
//       You are now 9 years old.
//       You are now 13 years old.
let birthdate = DateTime(1993, 7, 28)
let dates = 
    [ DateTime(1993, 8, 16) 
      DateTime(1994, 7, 28)
      DateTime(2000, 10, 16)
      DateTime(2003, 7, 27)
      DateTime(2007, 5, 27) ]

for dateValue in dates do
    let interval = dateValue - birthdate
    // Get the approximate number of years, without accounting for leap years.
    let years = (int interval.TotalDays) / 365
    // See if adding the number of years exceeds dateValue.
    if birthdate.AddYears years <= dateValue then
        String.Format("You are now {0} years old.", years)
    else
        String.Format("You are now {0} years old.", years - 1)
    |> printfn "%s"
// The example displays the following output:
//       You are now 0 years old.
//       You are now 1 years old.
//       You are now 7 years old.
//       You are now 9 years old.
//       You are now 13 years old.
Module Example
   Public Sub Main()
      Dim birthdate As Date = #7/28/1993#
      Dim dates() As Date = { #9/16/1993#, #7/28/1994#, #10/16/2000#, _
                              #7/27/2003#, #5/27/2007# }
      For Each dateValue As Date In dates
         Dim interval As TimeSpan = dateValue - birthdate
         ' Get the approximate number of years, without accounting for leap years.
         Dim years As Integer = CInt(interval.TotalDays) \ 365
         ' See if adding the number of years exceeds dateValue.
         Dim output As String
         If birthdate.AddYears(years) <= dateValue Then
            output = String.Format("You are now {0} years old.", years)
            Console.WriteLine(output)
         Else
            output = String.Format("You are now {0} years old.", years - 1)
            Console.WriteLine(output)   
         End If
      Next
   End Sub
End Module
' The example displays the following output:
'       You are now 0 years old.
'       You are now 1 years old.
'       You are now 7 years old.
'       You are now 9 years old.
'       You are now 13 years old.

Zobacz też

Dotyczy

Format(IFormatProvider, CompositeFormat, Object[])

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

public:
 static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, ... cli::array <System::Object ^> ^ args);
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, params object?[] args);
static member Format : IFormatProvider * System.Text.CompositeFormat * obj[] -> string
Public Shared Function Format (provider As IFormatProvider, format As CompositeFormat, ParamArray args As Object()) As String

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

args
Object[]

Tablica obiektów do sformatowania.

Zwraca

Sformatowany ciąg.

Wyjątki

format lub args jest null.

Indeks elementu formatu jest większy lub równy liczbie podanych argumentów.

Dotyczy

Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

public:
generic <typename TArg0, typename TArg1, typename TArg2>
 static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0, TArg1 arg1, TArg2 arg2);
public static string Format<TArg0,TArg1,TArg2> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2);
static member Format : IFormatProvider * System.Text.CompositeFormat * 'TArg0 * 'TArg1 * 'TArg2 -> string
Public Shared Function Format(Of TArg0, TArg1, TArg2) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0, arg1 As TArg1, arg2 As TArg2) As String

Parametry typu

TArg0

Typ pierwszego obiektu do sformatowania.

TArg1

Typ drugiego obiektu do sformatowania.

TArg2

Typ trzeciego obiektu do sformatowania.

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

arg0
TArg0

Pierwszy obiekt do sformatowania.

arg1
TArg1

Drugi obiekt do sformatowania.

arg2
TArg2

Trzeci obiekt do sformatowania.

Zwraca

Sformatowany ciąg.

Wyjątki

format jest null.

Indeks elementu formatu jest większy lub równy liczbie podanych argumentów.

Dotyczy

Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

public:
generic <typename TArg0, typename TArg1>
 static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0, TArg1 arg1);
public static string Format<TArg0,TArg1> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1);
static member Format : IFormatProvider * System.Text.CompositeFormat * 'TArg0 * 'TArg1 -> string
Public Shared Function Format(Of TArg0, TArg1) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0, arg1 As TArg1) As String

Parametry typu

TArg0

Typ pierwszego obiektu do sformatowania.

TArg1

Typ drugiego obiektu do sformatowania.

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

arg0
TArg0

Pierwszy obiekt do sformatowania.

arg1
TArg1

Drugi obiekt do sformatowania.

Zwraca

Sformatowany ciąg.

Wyjątki

format jest null.

Indeks elementu formatu jest większy lub równy liczbie podanych argumentów.

Dotyczy

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Zamienia element formatu lub elementy w CompositeFormat na reprezentację ciągu odpowiednich obiektów w określonym formacie.

public:
generic <typename TArg0>
 static System::String ^ Format(IFormatProvider ^ provider, System::Text::CompositeFormat ^ format, TArg0 arg0);
public static string Format<TArg0> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0);
static member Format : IFormatProvider * System.Text.CompositeFormat * 'TArg0 -> string
Public Shared Function Format(Of TArg0) (provider As IFormatProvider, format As CompositeFormat, arg0 As TArg0) As String

Parametry typu

TArg0

Typ pierwszego obiektu do sformatowania.

Parametry

provider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficznym dla kultury.

arg0
TArg0

Pierwszy obiekt do sformatowania.

Zwraca

Sformatowany ciąg.

Wyjątki

format jest null.

Indeks elementu formatu jest większy lub równy liczbie podanych argumentów.

Dotyczy