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
This commit is contained in:
gperez
2019-08-13 16:21:03 -03:00
committed by Randell Dawson
parent d087f8af22
commit 1c9080c261

View File

@@ -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}!";
{<expresión interpolada>[,<alineación>][:<formato>]}
```
**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}";
```
```
|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)