String interpolation - repeat
是否有任何方法可以多次插入变量而不重复?
例如:
1 2 | var name ="bla"; Console.WriteLine($"foo {name:repeat:2} bar") |
印刷
1 | foo blabla bar |
我特别感兴趣的是插入几个换行符,而不是像这样在插入遮罩中重复多次
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); |
它将帮助您不要重复同一个字符串,只需要索引即可。
有关字符串格式的详细信息