日期:2014-05-18 浏览次数:20889 次
int[] a = new int[3] { 1, 2, 3 };
int[] b = new int[3];
a.CopyTo(b, 0);
b[1] = 100;
for (int i = 0; i < a.Length; i++)
Response.Write(a[i] + "<br/>");
for (int i = 0; i < b.Length; i++)
Response.Write(b[i] + "<br/>");
------解决方案--------------------
static void Main(string[] args)
{
int[] a = { 1, 2, 3, 4 };
int[] b = new int[4];
a.CopyTo(b,0);
b[0] = 10;
Console.WriteLine("{0} - {1}",a[0],b[0]);
Console.Read();
}
------解决方案--------------------
如果数组内的元素是引用类型,那么输出应该是一样的。所以浅复制应该是对的。
TextBox[] a = new TextBox[3] { new TextBox(), new TextBox(), new TextBox() };
TextBox[] b = new TextBox[3] { new TextBox(), new TextBox(), new TextBox() };
a[0].Text = "你好";
a.CopyTo(b, 0);
b[0].Text = "垃圾";
for (int i = 0; i < a.Length; i++)
Response.Write(a[i].Text + "<br/>");
for (int i = 0; i < b.Length; i++)
Response.Write(b[i].Text + "<br/>");
------解决方案--------------------
另外CopyTo方法的第一个参数是Array类型,所以用此方法可以在各种数组集合间转换,比如泛型集合转成数组。
------解决方案--------------------