长沙北大青鸟大计教育
在线测试

C#中怎样使一个字符串重复N倍?

发布时间:2013-05-02

  突然要用到把一个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);

  }

  }

在线申请

北大青鸟免费试听课程

 我已同意《隐私政策说明》
马上申请

学校地址: 长沙市天心区团结路6号

报名热线: 4008-0731-86 / 0731-82186801

Copyright © 2006 北大青鸟长沙大计教育
长沙市岳麓区大计职业技能培训学校有限公司版权所有

湘ICP备14017520号-3