你发现什么规律了吗?
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,任何数组的元素改变,其他数组也不变