Saltar al contenido

La evolución de la interpolación de cuerdas

El aspecto más importante de la interpolación de cadenas es el carácter $ . Este es el carácter que notifica al compilador sobre el tipo especial de cadena que está a punto de compilar. Veamos un ejemplo sencillo.

123stringwhere="";string what ="guías escritas";Console.WriteLine($"Los {what} de {where} son increíbles!");

csharp

La evolución de la interpolación de cuerdas
La evolución de la interpolación de cuerdas

¡Esto nos da la siguiente salida en nuestra consola!

Se puede ver la elegancia, y la falta de + caracteres para concatenar las variables y los caracteres que me gustaría imprimir.

La sintaxis básica se ve así.

` interpolado ,alineación

1234567891011 Esto significa que puede especificar una definición de espacio, lo que significa que quiere tener *X* número de caracteres antes de la cadena interpolada, o puede especificar un formateador. El formateador es útil cuando se trata, por ejemplo, de fechas. Tienes un objeto de fecha y deseas tener diferentes formatos en la salida a lo largo de toda tu aplicación, basados en las llamadas a métodos o en la sección en la que resides actualmente.### Interpolación con elementos de matricesLa interpolación de cadenas permite manejar matrices y sus elementos como entrada para la acción. Veamos el siguiente ejemplo. ```csharpint [] even = {2, 4, 6, 8, 10};string interpolated = $"Estos son los números pares {even[0]}, {even[1]}, {even[2]}, {even[3]}!";Console.WriteLine($"{interpolated}");

Dándonos la siguiente salida. La interpolación de una cadena interpolada.

Interpolación con expresiones

Aunque se pueden utilizar operadores arbitrarios en las interpolaciones, hay algunas reglas ligeras que hay que tener en cuenta. Pero puedes hacer casi cualquier cosa que quieras con este enfoque. Veamos un ejemplo aquí.

123456int y =10;int x =30;Console.WriteLine($"{x} + {y} = {x + y}");Console.WriteLine($"{x} - {y} = {x - y}");Console.WriteLine($"{x} * {y} = {x * y}");Console.WriteLine($"{x} / {y} = {x / y}");

csharp

¡Esto nos da la siguiente salida!

123430 + 10=4030 - 10=2030 * 10=30030 / 10=3

bash

Interpolación con llamadas de método

El tercer, y más complejo aspecto de la interpolación de cadenas, se hace con llamadas a métodos y sus valores de retorno. Lo más importante es tener un valor de retorno del método que pueda ser interpolado, eso es todo.

1234567staticintFourthPower(int x){retorno x * x * x * x;}estaticvoidMain(string[] args){int x =2; Console.WriteLine($"El {x} a la cuarta potencia es igual a: {CuartaPotencia(x)}");}

csharp

El resultado se ve así:

1El 2 al cuarto poder es igual a 16

bash

Interpolación con Alineación

Este ejemplo le mostrará cómo puede utilizar la interpolación con la justificación de la alineación de izquierda a derecha. Esto es útil cuando quieres crear una salida tabular con un formato bonito y preservar la estructura que tienes en mente.

1234567891011var workers =newDictionary<string,string >(){["John Doe"]="DevOps Engineer",["Jane Doe"]="Network Architect",["William Doe"]="Product Manager"};Console. WriteLine("Lista de colegas y posiciones!");Console.WriteLine("");Console.WriteLine($"|{"Trabajador",-15}|{"Posición",20}|");foreach(var título en trabajadores) Console.WriteLine($"|{título.Clave,-15}|{título.Valor,20}|");

csharp

Creamos nuestra variable, que es un diccionario basado en cadenas. Luego inicializamos los valores con los pares clave-valor de tres trabajadores. Tenemos la declaración de impresión que nos permite nombrar nuestra tabla. Entonces se proporcionan los nombres de las columnas llamadas Trabajador y Posición . La primera columna se justifica a la izquierda, la segunda a la derecha.

La salida que obtenemos es una bonita mesa con un nombre.

123456¡Colaborador y lista de posiciones!||Trabajador |Posición||John Doe |Ingeniero de Desarrollo|||Jane Doe |Arquitecto de redes||William Doe |Director de Producto|||
bash