From 1c9080c2612841ccc307e1e41813475776025793 Mon Sep 17 00:00:00 2001 From: gperez Date: Tue, 13 Aug 2019 16:21:03 -0300 Subject: [PATCH] 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 --- .../csharp/string-interpolation/index.md | 64 +++++++++++++++---- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/guide/spanish/csharp/string-interpolation/index.md b/guide/spanish/csharp/string-interpolation/index.md index b8dbf84982..ceff45c43a 100644 --- a/guide/spanish/csharp/string-interpolation/index.md +++ b/guide/spanish/csharp/string-interpolation/index.md @@ -1,29 +1,69 @@ --- title: String Interpolation -localeTitle: Interpolación de cuerdas +localeTitle: Interpolación de cadenas --- -# Interpolación de cuerdas +# 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 message = "Hello " + firstName + " " + lastName + "!"; +```csharp +string mensaje = "Hola " + nombre + " " + apellido + "!"; - string message2 = string.Format("Hello {0} {1}!", firstName, lastName); +string mensaje2 = string.Format("Hello {0} {1}!", nombre, apellido); ``` -Con las expresiones de cadena interpoladas, tiene una cadena con expresiones contenidas que se reemplazan con los resultados de las expresiones. Tiene que prefijar su cadena literal 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í: +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í: + +# # +```csharp +string mensaje = $"Hola {nombre} {apellido}!"; +``` + +Dentro de un string interpolado puedes llamar a funciones, propiedades, métodos y operadores ternarios: + +```csharp + 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: # # ``` -string message = $"Hello {firstName} {lastName}!"; +{[,][:]} ``` -**Poco de información útil** En la interpolación de cadenas, tiene la capacidad de llamar a funciones, propiedades y operadores ternarios: +```csharp +Console.WriteLine($"|{"Alineado a izquierda",-25}|"); +Console.WriteLine($"|{"34",5}|"); +Console.WriteLine($"{34.1234567:F3}"); ``` -int a = 3; - int b = 454; - string result = $"{a}+{b} = {a+b}"; -``` \ No newline at end of file +``` +|Alineado a izquierda | +| 34| +34.123 +``` + +Para más información sobre las posibles alineaciones y formatos: [Composite Formatting, Microsoft](https://docs.microsoft.com/en-us/dotnet/standard/base-types/composite-formatting#alignment-component) + +### Recursos +- [String interpolation (C# Reference)](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated)