关于c#:字符串插值 – 重复

String interpolation - repeat

是否有任何方法可以多次插入变量而不重复?

例如:

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

印刷

1
foo blabla bar

我特别感兴趣的是插入几个换行符,而不是像这样在插入遮罩中重复多次{Environment.NewLine}

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


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

然后使用:

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


您可以为字符串类型编写一个扩展方法,这将重复其输入。然后简单地在花括号中使用这个方法。


你也可以用

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

它将帮助您不要重复同一个字符串,只需要索引即可。

有关字符串格式的详细信息