Ejercicio: Combinación de cadenas mediante interpolación de cadenas
Aunque la concatenación de cadenas es sencilla y cómoda, la interpolación de cadenas aumenta en popularidad en situaciones en las que es necesario combinar muchas cadenas y variables literales en un único mensaje con formato.
¿Qué es la interpolación de cadenas?
La interpolación de cadenas combina varios valores en una sola cadena literal mediante una "plantilla" y una o varias expresiones de interpolación. Una expresión de interpolación se indica mediante un símbolo { }de llave de apertura y cierre . Puede colocar cualquier expresión de C# que devuelva un valor dentro de las llaves. La cadena literal se convierte en una plantilla cuando el $ carácter lo prefijo.
En otras palabras, en lugar de escribir la siguiente línea de código:
string message = greeting + " " + firstName + "!";
Puede escribir esta línea de código más concisa en su lugar:
string message = $"{greeting} {firstName}!";
En este ejemplo sencillo, se guardan algunas pulsaciones de tecla. Puede imaginar cuánto más concisa interpolación de cadenas puede estar en operaciones más complejas. Además, muchos encuentran la sintaxis de interpolación de cadenas más limpia y más fácil de leer.
En el ejercicio siguiente, volverá a escribir los mensajes anteriores mediante la interpolación de cadenas.
Uso de la interpolación de cadenas para combinar una cadena literal y un valor de variable
Para interpolar dos cadenas juntas, cree una cadena literal y prefijo la cadena con el $ símbolo . La cadena literal debe contener al menos un conjunto de llaves {} y dentro de esos caracteres que use el nombre de una variable.
Seleccione todo el código que escribió anteriormente en el Editor de código de C# y presione Eliminar o Retroceso para eliminarlo.
Escriba el código siguiente en el Editor de código de C#:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);Ahora, ejecute el código. Se ve el resultado siguiente en la consola de salida:
Hello Bob!
Uso de la interpolación de cadenas con varias variables y cadenas literales
Puede realizar varias operaciones de interpolación en la misma línea de código.
Seleccione todo el código que escribió anteriormente en el Editor de código de C# y presione Eliminar o Retroceso para eliminarlo.
Escriba el código siguiente en el Editor de código de C#:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);Ahora, ejecute el código. Se ve el resultado siguiente en la consola de salida:
Update to Windows 11
Evitar variables intermedias
Al igual que hizo en el ejercicio anterior, puede eliminar la variable temporal para almacenar el mensaje.
Modifique el código que escribió anteriormente para que coincida con el siguiente:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");Ahora, ejecute el código. El resultado en la salida de la consola debe ser el mismo incluso si ha simplificado el código:
Update to Windows 11!
Combinar literales textuales y interpolación de cadenas
Supongamos que necesita usar un literal textual en la plantilla. Puede usar el símbolo @ de prefijo literal textual y el símbolo de interpolación de $ cadenas juntos.
Elimine el código de los pasos anteriores y escriba el código siguiente en el Editor de código de C#:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");Ahora, ejecute el código y debería ver el siguiente resultado.
C:\Output\First-Project\DataEn este ejemplo, el
$símbolo permite hacer referencia a laprojectNamevariable dentro de las llaves, mientras que el@símbolo permite usar el carácter sin\escape.
Resumen
Esto es lo que ha aprendido sobre la interpolación de cadenas hasta ahora:
- La interpolación de cadenas proporciona una mejora en la concatenación de cadenas al reducir el número de caracteres necesarios en algunas situaciones.
- Puede combinar la interpolación de cadenas y los literales textuales mediante la combinación de los símbolos de cada uno y su uso como prefijo para la plantilla de cadena.