字符串插值 - 重复
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
有没有什么方法可以多次插值变量而不重复?
例如:
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