How do I interpolate strings?

sazr picture sazr · Feb 19, 2012 · Viewed 52k times · Source

I want to do the following in C# (coming from a Python background):

strVar = "stack"
mystr  = "This is %soverflow" % (strVar)

How do I replace the token inside the string with the value outside of it?

Answer

Ashtonian picture Ashtonian · Nov 17, 2014

This has been added as of C# 6.0 (Visual Studio 2015+).

Example:

var planetName = "Bob";
var myName = "Ford"; 
var formattedStr = $"Hello planet {planetName}, my name is {myName}!";
// formattedStr should be "Hello planet Bob, my name is Ford!"

This is syntactic sugar for:

var formattedStr = String.Format("Hello planet {0}, my name is {1}!", planetName, myName);

Additional Resources:

String Interpolation for C# (v2) Discussion

C# 6.0 Language Preview