Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

Novedades de C# 6: Interpolated String

Vamos con otra de las novedades de C# 6, en este caso aquellos que hayan usado Ruby lo conocen bien, básicamente es la posibilidad de declarar un string y que el compilador detecte (por contexto) las variables y sus propiedades para reemplazar dentro del string, por ejemplo.

Cómo se hacía antes?

Antes hacíamos esto:

var leonardo = new Usuario { Apellido = "Micheloni", Nombre = "Leonardo", ID = 123 };

Console.WriteLine("Hola mi nombre es {0}, {1}, y mi ID es {2}", leonardo.Nombre, leonardo.Apellido, leonardo.ID);

Básicamente queremos mostrar el contenido de la variable “leonardo” y usarmos el clásico string.format, bien, eso tiene varios problemas:

  • Es engorroso
  • Es propenso a errroes
  • No es claro
  • Etc.

Con String Interpolation podemos hacer esto:

var leonardo = new Usuario { Apellido = "Micheloni", Nombre = "Leonardo", ID = 123 };

Console.WriteLine($"Hola mi nombre es {leonardo.Nombre}, {leonardo.Apellido}, y mi ID es {leonardo.ID}");

Lo interesante es que el compilador detecta las variables y sus propiedades por contexto (como yo usé esa variable podría haber usado parámetros del método o cualquier cosa en el contexto), además de esto tenemos intellisense

image

Más allá de simples strings

Podemos hacer mucho más que referenciar variables en nuestro scope, por ejemplo:

Console.WriteLine($"El promedio entre 1 y 3 es {new[] { 1, 3 }.Average()}");

Les dejo la referencia completa a esta capacidad de MSDN.

Nos leemos.

Loading