字符串插值 - 重复

String interpolation - repeat

有没有什么方法可以多次插值变量而不重复?

例如:

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

打印

foo blabla bar

我特别感兴趣的是插值几个 换行符 而不是像这样在插值掩码中重复 {Environment.NewLine} 几次:

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

你可以为字符串类型写一个扩展方法,重复它的输入。然后只需在大括号内使用此方法即可。

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

然后使用:

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

您也可以使用

var name = "bla";
Console.WriteLine("foo {0}{0} bar", name);
// or
var s = String.Format("foo {0}{0} bar", name);

它将帮助您不重复相同的字符串,只是重复它的索引。

更多关于String Format