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ć String.Format z metody, zobacz Wprowadzenie do metody String.Format , aby uzyskać krótkie omówienie.

Przeciążenia

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, 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(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 Uwagi dotyczące dodatkowego interfejsu API dla formatu String.Format.

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.

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

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

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ż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ć 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 programu formatującego. Metoda konwertuje każdy Object argument 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(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

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 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ż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ść 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 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 dwóch argumentów

W tym przykładzie użyto Format(String, Object, Object) metody do wyświetlania danych dotyczących czasu i temperatury 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 sformatowania. 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ż

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);
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.

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.

arg0
Object

Obiekt do sformatowania.

Zwraca

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

Wyjątki

format to null.

Nazwa format jest niepoprawna.

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

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ć 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 programu formatującego. Metoda konwertuje każdy Object argument 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

Przykład: Formatowanie wrażliwe na kulturę

W tym przykładzie użyto Format(IFormatProvider, String, Object[]) 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ż

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

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ż

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

arg0
Object

Obiekt do sformatowania.

Zwraca

Kopia, format w której wszystkie elementy formatu są zastępowane przez reprezentację arg0cią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ż

Dotyczy

Format(IFormatProvider, CompositeFormat, Object[])

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

Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty 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.

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

Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty 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.

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

Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty 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.

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

Zastępuje element formatu lub elementy w obiekcie CompositeFormat ciągiem reprezentującym odpowiednie obiekty 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.

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