Files
freeCodeCamp/guide/spanish/csharp/string-interpolation/index.md
gperez 1c9080c261 Changes spanish c# guide string interpolation (#31117)
I have changed translation to make it more natural, have added more information, some examples, and references to Microsoft docs
2019-08-13 12:21:03 -07:00

2.3 KiB

title, localeTitle
title localeTitle
String Interpolation Interpolación de cadenas

Interpolación de cadenas

En C #, normalmente para concatenar cadenas, utilizaría el operador “+” o el formato compuesto con un método como String.Format. Por formato compuesto, me refiero a una cadena de formato con marcadores de posición indexados (elementos de formato) y una lista de objetos que se utilizarán en los marcadores de posición.

string mensaje = "Hola " + nombre + " " + apellido + "!"; 
 
string mensaje2 = string.Format("Hello {0} {1}!", nombre, apellido); 

C# 6, incorpora las expresiones de cadena interpoladas, estas se componen de una cadena con expresiones contenidas que se reemplazan con los resultados de las expresiones. Para utilizarlas debe prefijar su cadena con un signo de dólar ($). Las expresiones que desea incluir en la cadena se colocan en línea entre corchetes. El mensaje anterior ahora se vería así:

string mensaje = $"Hola {nombre} {apellido}!"; 

Dentro de un string interpolado puedes llamar a funciones, propiedades, métodos y operadores ternarios:

	public class Empleado 
	{
		public string Nombre { get; set; }
		public DateTime FechaDeNacimiento { get; set; }
	}
	
	public static void Main()
	{
		var empleado = new Empleado();
		empleado.Nombre = "Juan";
		empleado.FechaDeNacimiento = new DateTime(1980, 12, 12);
		
 		Console.WriteLine($"{empleado.Nombre} ha nacido en {empleado.FechaDeNacimiento:dd/MM/yyyy}");
		//Juan ha nacido en 12/12/1980
		
		Console.WriteLine($"{(empleado.Nombre == "Juan" ? "Es Juan" : "No Es Juan")}");
		//Es Juan
	}

Formato y Alineación

También puedes indicar una alineación y formato al string interpolado siguiendo la siguiente sintaxis:

{<expresión interpolada>[,<alineación>][:<formato>]}
Console.WriteLine($"|{"Alineado a izquierda",-25}|");
Console.WriteLine($"|{"34",5}|");
Console.WriteLine($"{34.1234567:F3}");
|Alineado a izquierda     |
|   34|
34.123

Para más información sobre las posibles alineaciones y formatos: Composite Formatting, Microsoft

Recursos