Ejercicio: Combinación de cadenas mediante interpolación de cadenas

Completado

Aunque la concatenación de cadenas es sencilla y cómoda, la interpolación de cadenas se está haciendo cada vez más popular en los casos en los que es necesario combinar muchas variables y cadenas literales en un solo mensaje con formato.

¿Qué es la interpolación de cadenas?

La interpolación de cadenas combina varios valores en una sola cadena literal mediante el uso de una "plantilla" y una o varias expresiones de interpolación. Una expresión de interpolación se indica con 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 tiene como prefijo el carácter $.

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:

string message = $"{greeting} {firstName}!";

En este sencillo ejemplo, se ahorra pulsar unas cuantas teclas. Ya se imaginará la enorme precisión que puede tener la interpolación de cadenas en operaciones más complejas. Además, muchos usuarios consideran que la sintaxis de interpolación de cadenas es más limpia y más fácil de leer.

En el ejercicio siguiente, reescribirá los mensajes anteriores mediante el uso de 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 prefije la cadena con el símbolo $. La cadena literal debe contener al menos un conjunto de llaves {} y dentro de esos caracteres se usa el nombre de una variable.

  1. Seleccione todo el código en el editor de .NET y presione la tecla Suprimir o Retroceso para eliminarlo.

  2. Escriba el siguiente código en el editor de .NET:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. 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 concatenación en la misma línea de código.

  1. Modifique el código que escribió anteriormente para que coincida con el siguiente:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  2. Ahora, ejecute el código. Se ve el resultado siguiente en la consola de salida:

    Update to Windows 11
    

Evitar las variables intermedias

Tal y como hizo en el ejercicio anterior, puede eliminar la variable temporal para almacenar el mensaje.

  1. 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}!");
    
  2. 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!
    

Combinación de los literales textuales y la interpolación de cadenas

Supongamos que necesita usar un literal textual en la plantilla. Puede usar juntos el símbolo @ de prefijo de literal textual y el símbolo $ de interpolación de cadenas.

  1. Elimine el código de los pasos anteriores y escriba el código siguiente en el editor de .NET:

    string projectName = "First-Project";
    Console.WriteLine($@"C:\Output\{projectName}\Data");
    
  2. Ahora, si ejecuta el código, verá el siguiente resultado.

    C:\Output\First-Project\Data
    

    En este ejemplo, el símbolo $ le permite hacer referencia a la variable projectName entre llaves, mientras que el símbolo @ permite usar el carácter \ sin escape.

Resumen

Esto es lo que ha aprendido hasta el momento sobre la interpolación de cadenas:

  • La interpolación de cadenas proporciona una mejora respecto a la concatenación de cadenas, ya que reduce el número de caracteres necesarios en algunas situaciones.
  • Puede combinar la interpolación de cadenas y los literales textuales si combina los símbolos de cada uno y usa el resultado como prefijo para la plantilla de cadena.