String.Format Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 , zobacz Get started with the String.Format method (Wprowadzenie do metody String.Format), aby zapoznać się z krótkim omówieniem.String.Format
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 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 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>) |
Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty w określonym formacie. |
Format(IFormatProvider, String, Object) |
Zastępuje element formatu lub elementy w określonym ciągu reprezentacją ciągu odpowiedniego obiektu. Parametr dostarcza informacje o formatowaniu specyficznym dla kultury. |
Format(IFormatProvider, String, ReadOnlySpan<Object>) | |
Format(String, ReadOnlySpan<Object>) | |
Format(String, Object[]) |
Zamienia element formatu w określonym ciągu na reprezentację ciągu odpowiedniego obiektu 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[]) |
Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty w określonym formacie. |
Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2) |
Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty w określonym formacie. |
Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1) |
Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty w określonym formacie. |
Format<TArg0>(IFormatProvider, CompositeFormat, TArg0) |
Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty w określonym formacie. |
Uwagi
Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla elementu 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 specyficzne dla kultury.
- format
- String
- args
- Object[]
Tablica obiektów 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 pliku args
.
Wyjątki
format
lub args
to null
.
Nazwa format
jest niepoprawna.
-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żywać ciągów formatu złożonego, można 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 do konwertowania czterech lub większej liczby wyrażeń na reprezentacje ciągów i osadzania tych reprezentacji w ciągu. Podczas konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje każdy Object argument na reprezentację ciągu przez wywołanie metody ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując metodę ToString(String,IFormatProvider). Jeśli te metody nie istnieją, wywołuje ona bez parametrów metodę ToString obiektu.
Jednak podczas wywoływania String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z obiektem, który zapewnia formatowanie z uwzględnieniem kultury lub niestandardowego oraz ciąg formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany do indeksu liczbowego; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody.
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Wprowadzenie do metody String.Format) i Which method do I call? (Która metoda jest wywoływana?).String.Format
Przykład: Formatowanie wrażliwe na kulturę
W tym przykładzie Format(IFormatProvider, String, Object[]) użyto metody , aby wyświetlić reprezentację ciągu niektórych wartości daty i godziny oraz wartości liczbowych 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ż
- DateTimeFormatInfo
- ICustomFormatter
- IFormatProvider
- NumberFormatInfo
- Typy formatowania na platformie .NET
- Formatowanie złożone
- Standardowe ciągi formatu daty i godziny
- Niestandardowe ciągi formatu daty i godziny
- Standardowe ciągi formatów liczbowych
- Niestandardowe ciągi formatu liczbowego
- Ciągi formatu Standard TimeSpan
- Niestandardowe ciągi formatu TimeSpan
- Ciągi formatu wyliczenia
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 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 specyficzne dla kultury.
- format
- String
- 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
, arg1
i arg2
.
Wyjątki
format
to null
.
Nazwa format
jest niepoprawna.
-lub-
Indeks elementu formatu jest mniejszy niż zero lub większy niż dwa.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używać ciągów formatu złożonego, można 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 do konwertowania trzech wyrażeń na reprezentacje ciągów i osadzania tych reprezentacji w ciągu. Podczas konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje każdy Object argument na reprezentację ciągu przez wywołanie metody ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując metodę ToString(String,IFormatProvider). Jeśli te metody nie istnieją, wywołuje ona bez parametrów metodę ToString obiektu.
Jednak podczas wywoływania String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z obiektem, który zapewnia formatowanie z uwzględnieniem kultury lub niestandardowego oraz ciąg formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany do indeksu liczbowego; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody.
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Wprowadzenie do metody String.Format) i Which method do I call? (Która metoda jest wywoływana?).String.Format
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 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
- 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
, arg1
i arg2
.
Wyjątki
format
to null
.
Nazwa format
jest niepoprawna.
-lub-
Indeks elementu formatu jest mniejszy niż zero lub większy niż dwa.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używać ciągów formatu złożonego, można 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 String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z ciągiem formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany do indeksu liczbowego; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody.
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Wprowadzenie do metody String.Format) i Which method do I call? (Która metoda jest wywoływana?).String.Format
Przykład: Formatowanie trzech argumentów
W tym przykładzie Format(String, Object, Object, Object) użyto metody do utworzenia ciągu, który ilustruje wynik operacji logicznej And
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 specyficzne dla kultury.
- format
- String
- 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
to null
.
Nazwa format
jest niepoprawna.
-lub-
Indeks elementu formatu nie jest zerowy lub jeden.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używać ciągów formatu złożonego, można 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 do konwertowania dwóch wyrażeń na ich reprezentacje ciągów i osadzania tych reprezentacji w ciągu. Podczas konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego formatowania. Metoda konwertuje każdy Object argument na reprezentację ciągu przez wywołanie metody ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując metodę ToString(String,IFormatProvider). Jeśli te metody nie istnieją, wywołuje ona bez parametrów metodę ToString obiektu.
Jednak podczas wywoływania String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z obiektem, który zapewnia formatowanie z uwzględnieniem kultury lub niestandardowego oraz ciąg formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany do indeksu liczbowego; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody.
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Wprowadzenie do metody String.Format) i Which method do I call? (Która metoda jest wywoływana?).String.Format
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
- 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
to null
.
Nazwa format
jest niepoprawna.
-lub-
Indeks elementu formatu nie jest zerowy lub jeden.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używać ciągów formatu złożonego, można 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 String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z ciągiem formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany do indeksu liczbowego; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody.
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Wprowadzenie do metody String.Format) i Which method do I call? (Która metoda jest wywoływana?).String.Format
Przykład: Formatowanie dwóch argumentów
W tym przykładzie użyto Format(String, Object, Object) metody do wyświetlania danych o czasie i temperaturze przechowywanych w obiekcie ogólnym Dictionary<TKey,TValue> . Należy pamiętać, że ciąg formatu ma trzy elementy formatu, chociaż istnieją tylko dwa obiekty do formatowania. Dzieje się tak, ponieważ 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ż
- Typy formatowania na platformie .NET
- Formatowanie złożone
- Standardowe ciągi formatu daty i godziny
- Niestandardowe ciągi formatu daty i godziny
- Standardowe ciągi formatów liczbowych
- Niestandardowe ciągi formatu liczbowego
- Ciągi formatu Standard TimeSpan
- Niestandardowe ciągi formatu TimeSpan
- Ciągi formatu wyliczenia
Dotyczy
Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)
- Źródło:
- String.Manipulation.cs
- Źródło:
- String.Manipulation.cs
Zamienia element formatu lub elementy w obiekcie CompositeFormat na reprezentację ciągu odpowiadających im 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 specyficzne dla kultury.
- format
- CompositeFormat
Klasa CompositeFormat.
- args
- ReadOnlySpan<Object>
Zakres obiektów do formatowania.
Zwraca
Sformatowany ciąg.
Wyjątki
format
to 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 reprezentację ciągu odpowiadającego mu obiektu. 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 specyficzne dla kultury.
- format
- String
- arg0
- Object
Obiekt do sformatowania.
Zwraca
Kopia format
, w której element formatu lub elementy zostały zastąpione przez reprezentację arg0
ciągu .
Wyjątki
format
to null
.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego, można użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany jest ciągiem zawierającym 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 w języku Visual Basic).
Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość wyrażenia na jego reprezentację ciągu i osadzić tę reprezentację w ciągu. Podczas przeprowadzania konwersji metoda używa formatowania wrażliwego na kulturę lub niestandardowego programu formatującego. Metoda konwertuje arg0
ciąg na reprezentację ciągu, wywołując metodę ToString(IFormatProvider) lub, jeśli odpowiedni element formatu obiektu zawiera ciąg formatu, wywołując metodę ToString(String,IFormatProvider). Jeśli te metody nie istnieją, wywołuje metodę bez parametrów obiektu ToString .
Jednak podczas wywoływania String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z obiektem, 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 jest przypisywany jako indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać tyle dodatkowych argumentów, ile 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody .
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Rozpoczynanie pracy z metodą String.Format) i Which method do I call?(Która metoda jest wywoływana?).String.Format
Dotyczy
Format(IFormatProvider, String, ReadOnlySpan<Object>)
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
- format
- String
- args
- ReadOnlySpan<Object>
Zwraca
Dotyczy
Format(String, ReadOnlySpan<Object>)
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
- args
- ReadOnlySpan<Object>
Zwraca
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
- args
- Object[]
Tablica obiektów 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 odpowiadających im obiektów w pliku args
.
Wyjątki
format
lub args
ma wartość null
.
Nazwa format
jest niepoprawna.
-lub-
Indeks elementu formatu jest mniejszy niż zero lub większy lub równy długości args
tablicy.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego, można użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany jest ciągiem zawierającym 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 w języku 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. args
Ponieważ parametr jest oznaczony atrybutem System.ParamArrayAttribute , można przekazać obiekty do metody jako pojedyncze argumenty lub jako tablicęObject.
Jednak podczas wywoływania String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z ciągiem formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany jako indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać tyle dodatkowych argumentów, ile 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody .
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Rozpoczynanie pracy z metodą String.Format) i Which method do I call?(Która metoda jest wywoływana?).String.Format
Przykład: Formatowanie więcej niż trzech argumentów
W tym przykładzie tworzony jest ciąg zawierający dane dotyczące wysokiej i niskiej temperatury 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ść odpowiadającej im 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ż
- Typy formatowania na platformie .NET
- Formatowanie złożone
- Standardowe ciągi formatu daty i godziny
- Niestandardowe ciągi formatu daty i godziny
- Standardowe ciągi formatów liczbowych
- Niestandardowe ciągi formatu liczbowego
- Standardowe ciągi formatu TimeSpan
- Niestandardowe ciągi formatu TimeSpan
- Ciągi formatu wyliczenia
Dotyczy
Format(String, Object)
- Źródło:
- String.Manipulation.cs
- Źródło:
- String.Manipulation.cs
- Źródło:
- String.Manipulation.cs
Zamienia jeden lub więcej elementów 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
- arg0
- Object
Obiekt do sformatowania.
Zwraca
Kopia, format
w której wszystkie elementy formatu są zastępowane przez reprezentację arg0
ciągu .
Wyjątki
format
to null
.
Element formatu w pliku format
jest nieprawidłowy.
-lub-
Indeks elementu formatu nie jest równy zero.
Uwagi
Ważne
Zamiast wywoływać metodę String.Format lub używając ciągów formatu złożonego, można użyć ciągów interpolowanych , jeśli język je obsługuje. Ciąg interpolowany jest ciągiem zawierającym 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 w języku Visual Basic).
Ta metoda używa funkcji formatowania złożonego , aby przekonwertować wartość wyrażenia na jego reprezentację ciągu i osadzić tę reprezentację w ciągu.
Jednak podczas wywoływania String.Format
metody nie jest konieczne skupienie się na konkretnym przeciążeniu, które chcesz wywołać. Zamiast tego można wywołać metodę z ciągiem formatu złożonego , który zawiera co najmniej jeden element formatu. Każdy element formatu jest przypisywany jako indeks liczbowy; pierwszy indeks zaczyna się od 0. Oprócz początkowego ciągu wywołanie metody powinno zawierać tyle dodatkowych argumentów, ile 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 rozpozna wywołanie metody do określonego String.Format
przeciążenia metody .
Aby uzyskać bardziej szczegółową dokumentację dotyczącą używania metody, zobacz Get started with the String.Format method (Rozpoczynanie pracy z metodą String.Format) i Which method do I call?(Która metoda jest wywoływana?).String.Format
Przykład: formatowanie pojedynczego argumentu
W poniższym przykładzie użyto Format(String, Object) metody , 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ż
- Typy formatowania na platformie .NET
- Formatowanie złożone
- Standardowe ciągi formatu daty i godziny
- Niestandardowe ciągi formatu daty i godziny
- Standardowe ciągi formatów liczbowych
- Niestandardowe ciągi formatu liczbowego
- Standardowe ciągi formatu TimeSpan
- Niestandardowe ciągi formatu TimeSpan
- Ciągi formatu wyliczenia
Dotyczy
Format(IFormatProvider, CompositeFormat, Object[])
- Źródło:
- String.Manipulation.cs
- Źródło:
- String.Manipulation.cs
Zamienia element formatu lub elementy w obiekcie CompositeFormat na reprezentację ciągu odpowiadających im 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 specyficzne dla kultury.
- format
- CompositeFormat
Klasa CompositeFormat.
- args
- Object[]
Tablica obiektów do sformatowania.
Zwraca
Sformatowany ciąg.
Wyjątki
format
lub args
ma wartość 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 obiekcie CompositeFormat na reprezentację ciągu odpowiadających im 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 specyficzne dla kultury.
- format
- CompositeFormat
Klasa CompositeFormat.
- 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
to 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 obiekcie CompositeFormat na reprezentację ciągu odpowiadających im 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 specyficzne dla kultury.
- format
- CompositeFormat
Klasa CompositeFormat.
- arg0
- TArg0
Pierwszy obiekt do sformatowania.
- arg1
- TArg1
Drugi obiekt do sformatowania.
Zwraca
Sformatowany ciąg.
Wyjątki
format
to 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 obiekcie CompositeFormat na reprezentację ciągu odpowiadających im 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 specyficzne dla kultury.
- format
- CompositeFormat
Klasa CompositeFormat.
- arg0
- TArg0
Pierwszy obiekt do sformatowania.
Zwraca
Sformatowany ciąg.
Wyjątki
format
to null
.
Indeks elementu formatu jest większy lub równy liczbie podanych argumentów.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla