Leer en inglés

Compartir a través de


String.Format Método

Definición

Convierte el valor de los objetos en cadenas en función de los formatos especificados e los inserta en otra cadena.

Si no está familiarizado con el método String.Format, consulte Introducción al método String.Format para obtener información general rápida.

Sobrecargas

Format(IFormatProvider, String, Object[])

Reemplaza los elementos de formato de una cadena por las representaciones de cadena de los objetos correspondientes de una matriz especificada. Un parámetro proporciona información de formato específica de la referencia cultural.

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

Reemplaza los elementos de formato de una cadena por la representación de cadena de tres objetos especificados. Un parámetro proporciona información de formato específica de la referencia cultural.

Format(String, Object, Object, Object)

Reemplaza los elementos de formato de una cadena por la representación de cadena de tres objetos especificados.

Format(IFormatProvider, String, Object, Object)

Reemplaza los elementos de formato de una cadena por la representación de cadena de dos objetos especificados. Un parámetro proporciona información de formato específica de la referencia cultural.

Format(String, Object, Object)

Reemplaza los elementos de formato de una cadena por la representación de cadena de dos objetos especificados.

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

Format(IFormatProvider, String, Object)

Reemplaza el elemento de formato o los elementos de una cadena especificada por la representación de cadena del objeto correspondiente. Un parámetro proporciona información de formato específica de la referencia cultural.

Format(IFormatProvider, String, ReadOnlySpan<Object>)

Reemplaza los elementos de formato de una cadena por las representaciones de cadena de los objetos correspondientes en un intervalo especificado. Un parámetro proporciona información de formato específica de la referencia cultural.

Format(String, ReadOnlySpan<Object>)

Reemplaza el elemento de formato en una cadena especificada por la representación de cadena de un objeto correspondiente en un intervalo especificado.

Format(String, Object[])

Reemplaza el elemento de formato en una cadena especificada por la representación de cadena de un objeto correspondiente en una matriz especificada.

Format(String, Object)

Reemplaza uno o varios elementos de formato en una cadena por la representación de cadena de un objeto especificado.

Format(IFormatProvider, CompositeFormat, Object[])

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

Comentarios

Para obtener más información sobre esta API, consulte comentarios de API complementarias para String.Format.

Format(IFormatProvider, String, Object[])

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza los elementos de formato de una cadena por las representaciones de cadena de los objetos correspondientes de una matriz especificada. Un parámetro proporciona información de formato específica de la referencia cultural.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

format
String

Cadena de formato compuesto .

args
Object[]

Matriz de objetos que contiene cero o más objetos a los que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se han reemplazado por la representación de cadena de los objetos correspondientes en args.

Excepciones

format o args es null.

format no es válido.

-o-

El índice de un elemento de formato es menor que cero, o mayor o igual que la longitud de la matriz de args.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir cuatro o más expresiones en sus representaciones de cadena e insertar esas representaciones en una cadena. Al realizar la conversión, el método usa formatos que distinguen la referencia cultural o un formateador personalizado. El método convierte cada argumento Object en su representación de cadena llamando a su método ToString(IFormatProvider) o, si el elemento de formato correspondiente del objeto incluye una cadena de formato, llamando a su método ToString(String,IFormatProvider). Si estos métodos no existen, llama al método toString toString sin parámetros del objeto.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con un objeto que proporcione formatos personalizados o confidenciales de referencia cultural y una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Ejemplo: formato que distingue referencias culturales

En este ejemplo se usa el método Format(IFormatProvider, String, Object[]) para mostrar la representación de cadena de algunos valores de fecha y hora y valores numéricos mediante varias referencias culturales diferentes.

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

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza los elementos de formato de una cadena por la representación de cadena de tres objetos especificados. Un parámetro proporciona información de formato específica de la referencia cultural.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

format
String

Cadena de formato compuesto .

arg0
Object

Primer objeto al que se va a dar formato.

arg1
Object

Segundo objeto al que se va a dar formato.

arg2
Object

Tercer objeto al que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se han reemplazado por las representaciones de cadena de arg0, arg1y arg2.

Excepciones

format es null.

format no es válido.

-o-

El índice de un elemento de formato es menor que cero o mayor que dos.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir tres expresiones en sus representaciones de cadena e insertar esas representaciones en una cadena. Al realizar la conversión, el método usa formatos que distinguen la referencia cultural o un formateador personalizado. El método convierte cada argumento Object en su representación de cadena llamando a su método ToString(IFormatProvider) o, si el elemento de formato correspondiente del objeto incluye una cadena de formato, llamando a su método ToString(String,IFormatProvider). Si estos métodos no existen, llama al método toString toString sin parámetros del objeto.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con un objeto que proporcione formatos personalizados o confidenciales de referencia cultural y una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(String, Object, Object, Object)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza los elementos de formato de una cadena por la representación de cadena de tres objetos especificados.

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

Parámetros

format
String

Cadena de formato compuesto .

arg0
Object

Primer objeto al que se va a dar formato.

arg1
Object

Segundo objeto al que se va a dar formato.

arg2
Object

Tercer objeto al que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se han reemplazado por las representaciones de cadena de arg0, arg1y arg2.

Excepciones

format es null.

format no es válido.

-o-

El índice de un elemento de formato es menor que cero o mayor que dos.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir el valor de tres expresiones en sus representaciones de cadena e insertar esas representaciones en una cadena.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Ejemplo: Formato de tres argumentos

En este ejemplo se usa el método Format(String, Object, Object, Object) para crear una cadena que ilustra el resultado de una operación de And booleana con dos valores enteros. Tenga en cuenta que la cadena de formato incluye seis elementos de formato, pero el método solo tiene tres elementos en su lista de parámetros, ya que cada elemento tiene formato de dos maneras diferentes.

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)

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, String, Object, Object)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza los elementos de formato de una cadena por la representación de cadena de dos objetos especificados. Un parámetro proporciona información de formato específica de la referencia cultural.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

format
String

Cadena de formato compuesto .

arg0
Object

Primer objeto al que se va a dar formato.

arg1
Object

Segundo objeto al que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se reemplazan por las representaciones de cadena de arg0 y arg1.

Excepciones

format es null.

format no es válido.

-o-

El índice de un elemento de formato no es cero ni uno.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir dos expresiones en sus representaciones de cadena e insertar esas representaciones en una cadena. Al realizar la conversión, el método usa formatos que distinguen la referencia cultural o un formateador personalizado. El método convierte cada argumento Object en su representación de cadena llamando a su método ToString(IFormatProvider) o, si el elemento de formato correspondiente del objeto incluye una cadena de formato, llamando a su método ToString(String,IFormatProvider). Si estos métodos no existen, llama al método toString toString sin parámetros del objeto.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con un objeto que proporcione formatos personalizados o confidenciales de referencia cultural y una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(String, Object, Object)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza los elementos de formato de una cadena por la representación de cadena de dos objetos especificados.

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

Parámetros

format
String

Cadena de formato compuesto .

arg0
Object

Primer objeto al que se va a dar formato.

arg1
Object

Segundo objeto al que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se reemplazan por las representaciones de cadena de arg0 y arg1.

Excepciones

format es null.

format no es válido.

-o-

El índice de un elemento de formato no es cero ni uno.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir el valor de dos expresiones en sus representaciones de cadena e insertar esas representaciones en una cadena.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Ejemplo: Formato de dos argumentos

En este ejemplo se usa el método Format(String, Object, Object) para mostrar los datos de tiempo y temperatura almacenados en un objeto genérico Dictionary<TKey,TValue>. Tenga en cuenta que la cadena de formato tiene tres elementos de formato, aunque solo hay dos objetos para dar formato. Esto se debe a que el primer objeto de la lista (un valor de fecha y hora) se usa en dos elementos de formato: el primer elemento de formato muestra la hora y el segundo muestra la fecha.

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

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

args
ReadOnlySpan<Object>

Intervalo de objetos a los que se va a dar formato.

Devoluciones

Cadena con formato.

Excepciones

format es null.

El índice de un elemento de formato es mayor o igual que el número de argumentos proporcionados.

Se aplica a

.NET 9 y .NET 8
Producto Versiones
.NET 8, 9

Format(IFormatProvider, String, Object)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato o los elementos de una cadena especificada por la representación de cadena del objeto correspondiente. Un parámetro proporciona información de formato específica de la referencia cultural.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

format
String

Cadena de formato compuesto .

arg0
Object

Objeto al que se va a dar formato.

Devoluciones

Copia de format en la que el elemento de formato o los elementos se han reemplazado por la representación de cadena de arg0.

Excepciones

format es null.

format no es válido.

-o-

El índice de un elemento de formato no es cero.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir el valor de una expresión en su representación de cadena e insertar esa representación en una cadena. Al realizar la conversión, el método usa formatos que distinguen la referencia cultural o un formateador personalizado. El método convierte arg0 en su representación de cadena llamando a su método ToString(IFormatProvider) o, si el elemento de formato correspondiente del objeto incluye una cadena de formato, llamando a su método ToString(String,IFormatProvider). Si estos métodos no existen, llama al método toString toString sin parámetros del objeto.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con un objeto que proporcione formatos personalizados o confidenciales de referencia cultural y una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, String, ReadOnlySpan<Object>)

Reemplaza los elementos de formato de una cadena por las representaciones de cadena de los objetos correspondientes en un intervalo especificado. Un parámetro proporciona información de formato específica de la referencia cultural.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

format
String

Cadena de formato compuesto .

args
ReadOnlySpan<Object>

Intervalo de objetos que contiene cero o más objetos a los que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se han reemplazado por la representación de cadena de los objetos correspondientes en args.

Se aplica a

.NET 9
Producto Versiones
.NET 9

Format(String, ReadOnlySpan<Object>)

Reemplaza el elemento de formato en una cadena especificada por la representación de cadena de un objeto correspondiente en un intervalo especificado.

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

Parámetros

format
String

Cadena de formato compuesto .

args
ReadOnlySpan<Object>

Intervalo de objetos que contiene cero o más objetos a los que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se han reemplazado por la representación de cadena de los objetos correspondientes en args.

Se aplica a

.NET 9
Producto Versiones
.NET 9

Format(String, Object[])

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato en una cadena especificada por la representación de cadena de un objeto correspondiente en una matriz especificada.

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

Parámetros

format
String

Cadena de formato compuesto .

args
Object[]

Matriz de objetos que contiene cero o más objetos a los que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se han reemplazado por la representación de cadena de los objetos correspondientes en args.

Excepciones

format o args es null.

format no es válido.

-o-

El índice de un elemento de formato es menor que cero, o mayor o igual que la longitud de la matriz de args.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir el valor de cuatro o más expresiones en sus representaciones de cadena e insertar esas representaciones en una cadena. Dado que el parámetro args está marcado con el atributo System.ParamArrayAttribute, puede pasar los objetos al método como argumentos individuales o como una matriz Object.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Ejemplo: Dar formato a más de tres argumentos

En este ejemplo se crea una cadena que contiene datos sobre la temperatura alta y baja en una fecha determinada. La cadena de formato compuesto tiene cinco elementos de formato en el ejemplo de C# y seis en el ejemplo de Visual Basic. Dos de los elementos de formato definen el ancho de la representación de cadena de su valor correspondiente, y el primer elemento de formato también incluye una cadena de formato de fecha y hora estándar.

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)

También puede pasar los objetos a los que se va a dar formato como una matriz en lugar de como una lista de argumentos.

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

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(String, Object)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza uno o varios elementos de formato en una cadena por la representación de cadena de un objeto especificado.

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

Parámetros

format
String

Cadena de formato compuesto .

arg0
Object

Objeto al que se va a dar formato.

Devoluciones

Copia de format en la que los elementos de formato se reemplazan por la representación de cadena de arg0.

Excepciones

format es null.

El elemento de formato de format no es válido.

-o-

El índice de un elemento de formato no es cero.

Comentarios

Importante

En lugar de llamar al método String.Format o mediante cadenas de formato compuesto, puede usar cadenas interpoladas si el idioma los admite. Una cadena interpolada es una cadena que contiene expresiones interpoladas. Cada expresión interpolada se resuelve con el valor de la expresión y se incluye en la cadena de resultado cuando se asigna la cadena. Para obtener más información, vea de interpolación de cadenas (referencia de C#) y cadenas interpoladas (referencia de Visual Basic).

Este método usa la característica de formato compuesto para convertir el valor de una expresión en su representación de cadena e insertar esa representación en una cadena.

Sin embargo, al llamar al método String.Format, no es necesario centrarse en la sobrecarga concreta a la que desea llamar. En su lugar, puede llamar al método con una cadena de formato compuesto que incluya uno o varios elementos de formato. Asigna a cada elemento de formato un índice numérico; el primer índice comienza en 0. Además de la cadena inicial, la llamada al método debe tener tantos argumentos adicionales como tenga valores de índice. Por ejemplo, una cadena cuyos elementos de formato tienen índices de 0 y 1 deben tener 2 argumentos; uno con índices de 0 a 5 debe tener 6 argumentos. A continuación, el compilador de lenguaje resolverá la llamada al método a una sobrecarga determinada del método String.Format.

Para obtener documentación más detallada sobre el uso del método String.Format, consulte Introducción al método String.Format y ¿A qué método se llama?.

Ejemplo: Aplicar formato a un único argumento

En el ejemplo siguiente se usa el método Format(String, Object) para insertar la edad de un individuo en medio de una cadena.

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.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Format(IFormatProvider, CompositeFormat, Object[])

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

args
Object[]

Matriz de objetos a los que se va a dar formato.

Devoluciones

Cadena con formato.

Excepciones

format o args es null.

El índice de un elemento de formato es mayor o igual que el número de argumentos proporcionados.

Se aplica a

.NET 9 y .NET 8
Producto Versiones
.NET 8, 9

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

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Parámetros de tipo

TArg0

Tipo del primer objeto al que se va a dar formato.

TArg1

Tipo del segundo objeto al que se va a dar formato.

TArg2

Tipo del tercer objeto al que se va a dar formato.

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

arg0
TArg0

Primer objeto al que se va a dar formato.

arg1
TArg1

Segundo objeto al que se va a dar formato.

arg2
TArg2

Tercer objeto al que se va a dar formato.

Devoluciones

Cadena con formato.

Excepciones

format es null.

El índice de un elemento de formato es mayor o igual que el número de argumentos proporcionados.

Se aplica a

.NET 9 y .NET 8
Producto Versiones
.NET 8, 9

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

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Parámetros de tipo

TArg0

Tipo del primer objeto al que se va a dar formato.

TArg1

Tipo del segundo objeto al que se va a dar formato.

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

arg0
TArg0

Primer objeto al que se va a dar formato.

arg1
TArg1

Segundo objeto al que se va a dar formato.

Devoluciones

Cadena con formato.

Excepciones

format es null.

El índice de un elemento de formato es mayor o igual que el número de argumentos proporcionados.

Se aplica a

.NET 9 y .NET 8
Producto Versiones
.NET 8, 9

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

Reemplaza el elemento de formato o los elementos de un CompositeFormat por la representación de cadena de los objetos correspondientes en el formato especificado.

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

Parámetros de tipo

TArg0

Tipo del primer objeto al que se va a dar formato.

Parámetros

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

arg0
TArg0

Primer objeto al que se va a dar formato.

Devoluciones

Cadena con formato.

Excepciones

format es null.

El índice de un elemento de formato es mayor o igual que el número de argumentos proporcionados.

Se aplica a

.NET 9 y .NET 8
Producto Versiones
.NET 8, 9