果洛皆料电子有限公司

C#中如何把一個(gè)字符串重復(fù)N倍?

  • 發(fā)布于:2024-03-05
  • 212 人圍觀

突然要用到把一個(gè)String重復(fù)N遍不是循環(huán)的方法,結(jié)果居然沒有。

CSDN上找了下,人家也說沒有,方法找到很多,看到一個(gè)效率最高的。

public static string RepeatString(string str, int n)

{

char[] arr = str.ToCharArray();

char[] arrDest = new char[arr.Length * n];

for (int i = 0; i < n; i++)

{

Buffer.BlockCopy(arr, 0, arrDest, i * arr.Length * 2, arr.Length * 2);

}

return new string(arrDest);

}

感覺是內(nèi)存分配上面效率高吧,可能~~:)

把這個(gè)方法改成泛型會不會就沒效率了呢?

public static string RepeatString(T str, int n)

{

string s = str.ToString();

char[] arr = s.ToCharArray();

char[] arrDest = new char[arr.Length * n];

for (int i = 0; i < n; i++)

{

Buffer.BlockCopy(arr, 0, arrDest, i * arr.Length * 2, arr.Length * 2);

}

return new string(arrDest);

}

}

萬企互聯(lián)
標(biāo)簽: