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