C# string interpolation

String Interpolation Definition


String interpolation in C# is a feature that enables you to write more readable code to create formatted strings.

String Interpolation Usage


Instead of using positional parameters in String.Format:

string name = "David Byer";
int age = 23;

string text = String.Format("{0} is {1} years old.", name, age); // David Byer is 23 years old.

With string interpolation, we can write more readable and convenient code by using the special character $ like this:

string name = "David Byer";
int age = 23;

// prefacing the string with $
string text = $"{name} is {age} years old.";
// David Byer is 23 years old.

Advanced Usage


By using string interpolation, we can include more than just simple variables in our result string. We can also include :

Arithmetic expressions

1- Addition

string result = $"SUM of 5 and 6 is : {5 + 6}"; // SUM of 5 and 6 is : 11

2- Multiplication

string result = $"Multiplication of 3 and 4 is : {3 * 4}"; // Multiplication of 3 and 4 is : 12

And other arithmetic expressions: ( -, /, ... ).

Methods

1- C# Methods

Including the method Math.Max which returns the larger of two numbers passed as arguments of the method.

string result = $"The maximum number between 1 and 55 is : { Math.Max(1, 55) }"; // The maximum number between 1 and 55 is : 55

2- Custom Methods

The following method returns the category of a person depending on its age passed as an argument of the method.

public string PersonCategory(int age) {
    if (age < 15)
        return "Children";

    else if (age >= 15 && age < 25)
        return "Youth";

    else if (age >= 25 && age < 65)
        return "Adults";

    else
        return "Seniors";
}

Including the PersonCategory method in a result string :

string result = $"This person belongs to the category of : {PersonCategory(27)}"; // This person belongs to the category of : Adults

Note

String interpolation is available in C# 6 or later.