Search code examples
c#stringinterpolationstring-interpolation

String interpolation - repeat


Is there any way to interpolate variable several times without repeating?

For example:

var name = "bla";
Console.WriteLine($"foo {name:repeat:2} bar")

to print

foo blabla bar

I'm particularly interested in interpolating several line breaks instead of repeating {Environment.NewLine} several times in the interpolation mask like this:

$"{Environment.NewLine}{Environment.NewLine}"

Solution

  • public static string Repeat(this string s, int times, string separator = "")
    {
        return string.Join(separator, Enumerable.Repeat(s, times));
    }
    

    Then use:

    Console.WriteLine($"foo {name.Repeat(2)} bar")