来源:北大青鸟飞迅校区|发布时间:2013-05-02 13:21:19
突然要用到把一个String重复N遍不是循环的方法,结果居然没有。
CSDN上找了下,人家也说没有,方法找到很多,看到一个效率最高的。贴出来给大家评评为什么效率最高
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);
}
感觉是内存分配上面效率高吧,可能~~:)
把这个方法改成泛型会不会就没效率了呢?
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);
}
}
招生热线: 4008-0731-86 / 0731-82186801
学校地址: 长沙市天心区团结路6号
Copyright © 2006 | 湖南大计信息科技有限公司 版权所有
湘ICP备14017520号-3