你发现什么规律了吗?
for (int i = 0; i < 5; i++)
{ a.SetValue((i+2).ToString(), i); } foreach (var item in a) { Console.WriteLine(item); } Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&");//string[] aa = (string[])a;
//foreach (var item in aa) //{ // Console.WriteLine(item); //} //aa[1] = "100"; //Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&"); //foreach (var item in a) //{ // Console.WriteLine(item); //} //Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&"); //foreach (var item in aa) //{ // Console.WriteLine(item); //}string[] bb =(string[])a.Clone();
bb[1] = "100"; Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&"); foreach (var item in a) { Console.WriteLine(item); } Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&"); foreach (var item in bb) { Console.WriteLine(item); }
string[] cc=new string[5]{"0","2","","",""};
a.CopyTo(cc,0); cc[1] = "100"; Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&"); foreach (var item in a) { Console.WriteLine(item); } Console.WriteLine("&&&&&&&&&&&&&&&&&&&&&"); foreach (var item in cc) { Console.WriteLine(item); }一:
a.Clone();会创建一个新数组
a.Copy()必须传递阶数相同且有足够元素的已有数组
二:
强制赋值,任何数组的元素改变,其他数组也改变
clone和copyto,任何数组的元素改变,其他数组也不变