有没有一种方法可以在不重复的情况下多次插值变量?
例如:
var name = "bla";
Console.WriteLine($"foo {name:repeat:2} bar")
打印
foo blabla bar
我特别关注如何在插值模板中插入多个换行符,而不是像这样多次重复使用{Environment.NewLine}
:
$"{Environment.NewLine}{Environment.NewLine}"
有没有一种方法可以在不重复的情况下多次插值变量?
例如:
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);
它将帮助您避免重复相同的字符串,只需使用其索引。
更多关于字符串格式的信息