Przeczytaj w języku angielskim

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.

C#
public static string Format (IFormatProvider provider, string format, params object[] args);
C#
public static string Format (IFormatProvider? provider, string format, params object?[] args);

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żne

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.

C#
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

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.

C#
public static string Format (IFormatProvider provider, string format, object arg0, object arg1, object arg2);
C#
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1, object? arg2);

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żne

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.

C#
public static string Format (string format, object arg0, object arg1, object arg2);
C#
public static string Format (string format, object? arg0, object? arg1, object? arg2);

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żne

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.

C#
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)

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.

C#
public static string Format (IFormatProvider provider, string format, object arg0, object arg1);
C#
public static string Format (IFormatProvider? provider, string format, object? arg0, object? arg1);

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żne

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.

C#
public static string Format (string format, object arg0, object arg1);
C#
public static string Format (string format, object? arg0, object? arg1);

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żne

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ę.

C#
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

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.

C#
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, ReadOnlySpan<object?> args);
C#
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, scoped ReadOnlySpan<object?> args);

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.

C#
public static string Format (IFormatProvider provider, string format, object arg0);
C#
public static string Format (IFormatProvider? provider, string format, object? arg0);

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żne

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.

C#
public static string Format (IFormatProvider? provider, string format, scoped ReadOnlySpan<object?> args);

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.

C#
public static string Format (string format, scoped ReadOnlySpan<object?> args);

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.

C#
public static string Format (string format, params object[] args);
C#
public static string Format (string format, params object?[] args);

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żne

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.

C#
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)

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

C#
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

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.

C#
public static string Format (string format, object arg0);
C#
public static string Format (string format, object? arg0);

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żne

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.

C#
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.

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.

C#
public static string Format (IFormatProvider? provider, System.Text.CompositeFormat format, params object?[] args);

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.

C#
public static string Format<TArg0,TArg1,TArg2> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2);

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.

C#
public static string Format<TArg0,TArg1> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0, TArg1 arg1);

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.

C#
public static string Format<TArg0> (IFormatProvider? provider, System.Text.CompositeFormat format, TArg0 arg0);

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