C# string interpolation is a method of concatenating, formatting, and manipulating strings. This feature was introduced in C# 6. Using string interpolation, we can use objects and expressions as a part of the string interpolation operation.
Syntax of string interpolation starts with a ‘$’ symbol, and expressions are defined within a bracket {} using the following syntax.
{<interpolatedExpression>[,<alignment>][:<formatString>]}
Where
The following code example in Listing 1 concatenates a string where an object, the author, is a part of the string interpolation.
string author = "Mahesh Chand"; string hello = $"Hello {author} !"; Console.WriteLine(hello);
Listing 1.
The output of Listing 1 looks like Figure 1.
Figure 1.
The following code example in Listing 2 creates a string by concatenating values of four different types of variables.
// Simple String Interpolation string author = "Mahesh Chand"; string book = "Programming C#"; int year = 2018; decimal price = 45.95m; string hello = $"{author} is an author of {book} . \n" + $"The book price is ${price} and was published in year {year}. "; Console.WriteLine(hello);
Listing 2.
The output of Listing 2 looks like Figure 2.
Figure 2.
The following code example in Listing 3 creates a string with spacing and adds 20 characters after the first object.
// Use spacing - add 20 chars Console.WriteLine($"{author}{book, 20}");
Listing 3.
The following code example in Listing 4 uses an expression in a string interpolation operation.
// Use an expression Console.WriteLine($"Book {book} price is {(price < 50 ? "50" : "45")} .");
Listing 4.
Learn more about string concatenation here: 6 Effective Ways to Concatenate Strings in C#.