复制StringBuilder类的实例的内容可以使用CopyTo()方法。该方法可以将此实例的指定段中的字符复制到目标字符数组的指定段中。它的原型如下:
public void CopyTo(int sourceIndex,char[] destination,int destinationIndex,int count)。
其中,参数sourceIndex指定开始复制字符的位置;destination参数指定要将字符复制到的字符数组;destinationIndex参数指定要将字符复制到的destination参数中的起始位置;count参数指定要复制的字符数。
下面的代码首先创建一个StringBuilder类的实例sb,并向sb中追加了由数字组成的字符串。然后,创建了一个保存复制结果的字符数组destChar,并使用了CopyTo()方法把实例sb的内容全部复制到字符数组destChar。CopyString(int max)函数还使用了Response.Write()方法分别在网页上显示了复制操作之前和之后的字符串。最后,该函数返回实例sb的字符串形式。
/// <summary>
/// 复制字符串
/// </summary>
/// <param name="max">参数1</param>
/// <returns></returns>
private string CopyString(int max)
{ ///构造一个可变字符串对象
StringBuilder sb = new StringBuilder();
for(int i = 0; i < max; i++)
{
sb.Append(i.ToString().PadLeft(3,'0'));
}
///输出字符串
Response.Write("未复制操作之前的字符串:" + sb.ToString() + "<br />");
///复制字符串
char[] destChar = new char[sb.Length];
sb.CopyTo(0,destChar,0,sb.Length);
///输出字符串
Response.Write("输出复制操作之后字符串:");
for(int i = 0; i < destChar.Length; i++)
{
Response.Write(destChar[i].ToString());
}
Response.Write("<br />");
///返回一个String对象
return sb.ToString().Replace("/n","<br />");
}