日期:2014-05-18 浏览次数:20752 次
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类型,所以用此方法可以在各种数组集合间转换,比如泛型集合转成数组。
------解决方案--------------------