【问题标题】:Is there a built-in function to repeat a string or char in .NET?.NET 中是否有重复字符串或字符的内置函数?
【发布时间】:2011-05-06 03:07:14
【问题描述】:

C# 中是否有返回给定字符或字符串 x 次的函数?还是我必须自己编码?

【问题讨论】:

标签: c# asp.net vb.net


【解决方案1】:
string.Join("", Enumerable.Repeat("ab", 2));

返回

"abab"

string.Join("", Enumerable.Repeat('a', 2))

返回

"aa"

【讨论】:

  • 下面稍微更正确的答案 -- 使用原生的'join' 字符 (1),或 string.Concat 字符串 (2)
  • 如果代码已经使用Linq,使用string.Join("", Enumerable.Repeat("ab", 2).ToArray());
  • 对于提到的字符 new string(char ch, int count) 更好。对此的改进可能是使用 Concat。
【解决方案2】:
string.Concat(Enumerable.Repeat("ab", 2));

返回

“阿巴”

【讨论】:

  • 如果代码已经使用Linq,使用string.Concat(Enumerable.Repeat("ab", 2).ToArray());
【解决方案3】:

对于字符串,您确实应该使用 Kirk 的解决方案:

string.Join("", Enumerable.Repeat("ab", 2));

但是对于字符,您不妨使用内置(更高效)的字符串构造函数:

new string('a', 2); // returns aa

【讨论】:

【解决方案4】:
new String('*', 5)

Rosetta Code

【讨论】:

  • 我认为这仅适用于 char
【解决方案5】:

最好的解决方案是内置字符串函数:

 Strings.StrDup(2, "a")

【讨论】:

  • 不是最好的,因为你需要引用和导入 Microsoft.VisualBasic。
猜你喜欢
  • 1970-01-01
  • 2023-03-31
  • 2016-01-17
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 2014-01-09
相关资源
最近更新 更多