【问题标题】:Is there a LINQ-way to append the same character n-times to a string?是否有一种 LINQ 方式可以将相同的字符 n 次附加到字符串中?
【发布时间】:2019-08-07 16:11:18
【问题描述】:

我想创建一个重复相同序列 n 次的字符串。

我是如何做到的:

var sequence = "\t";
var indent = string.Empty;   

for (var i = 0; i < n; i++)
{
    indent += sequence;
}

是否有一个简洁的 LINQ 等价物来完成相同的结果?

【问题讨论】:

标签: c# linq


【解决方案1】:

您可以在String.Concat 中使用Enumerable.Repeat

string intend = String.Concat(Enumerable.Repeat(sequence, n));

如果你只想重复一个字符,你应该更喜欢String-constructor:

string intend = new String('\t', n);

【讨论】:

  • @boop 与您的示例代码无关,但如果您使用的是 StringBuilder,还有一个方法 .Append('\t', n)。
  • 我推荐 string.Join(sequence, new string[n + 1]) 以避免 StringBuilder 开销
猜你喜欢
  • 2014-07-13
  • 2020-02-04
  • 1970-01-01
  • 2021-07-25
  • 2011-01-04
  • 2015-08-05
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多