字符串插值 - 重复

6

有没有一种方法可以在不重复的情况下多次插值变量?

例如:

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

打印
foo blabla bar

我特别关注如何在插值模板中插入多个换行符,而不是像这样多次重复使用{Environment.NewLine}

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

1
也许看看这个。也许与String.Format结合使用。https://dev59.com/9XRC5IYBdhLWcg3wFdFx - RichyP7
3个回答

10
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")

我曾认为可能有一些字符串插值的开箱即用选项。但如果没有,你的解决方案看起来是最简单的选择。谢谢。 - Illia Ratkevych

1

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


0

你也可以使用

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

它将帮助您避免重复相同的字符串,只需使用其索引。

更多关于字符串格式的信息


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接