有没有一种简单的方法返回重复X次的字符串?
有没有一种简单的方法返回重复X次的字符串?
我正在尝试根据项目的深度在字符串前插入一定数量的缩进,我想知道是否有一种方法可以重复X次返回一个字符串。 示例:
string indent = "---"; Console.WriteLine(indent.Repeat(0)); //would print nothing. Console.WriteLine(indent.Repeat(1)); //would print "---". Console.WriteLine(indent.Repeat(2)); //would print "------". Console.WriteLine(indent.Repeat(3)); //would print "---------".
admin 更改状态以发布 2023年5月20日
如果您正在使用.NET 4.0,您可以使用string.Concat
与Enumerable.Repeat
结合使用。
int N = 5; // or whatever Console.WriteLine(string.Concat(Enumerable.Repeat(indent, N)));
否则,我会选择像Adam的答案这样的方案。
我通常不推荐使用Andrey的答案,原因是使用ToArray()
调用会引入多余的开销,而Adam建议使用的StringBuilder
方法可以避免这种开销。尽管如此,至少它可以在不需要.NET 4.0的情况下工作;而且它很快捷简单(如果效率不是太大关注的话)。