110,534
社区成员
发帖
与我相关
我的任务
分享
class MyClass
{
public int i;
}
static void Main(string[] args)
{
MyClass[] myClasses1 = new MyClass[1];
MyClass[] myClasses2 = new MyClass[1];
myClasses1[0] = new MyClass();
myClasses1[0].i = 1;
myClasses1.CopyTo(myClasses2, 0);
//myClasses2 = myClasses1;
myClasses2[0].i = 2;
Console.WriteLine("myClasses1[0].i:{0}\nmyClasses2[0].i:{1}", myClasses1[0].i, myClasses2[0].i);
Console.WriteLine(myClasses1 == myClasses2);
}
最开始
myClasses1 -> Array object -> MyClass object
myClasses2 -> Array object -> MyClass object
如果用赋值运算:
myClasses1 -\
|-> Array object -> MyClass object
myClasses2 -/
如果用CopyTo:
myClasses1 -> Array object -> -\
|-> MyClass object
myClasses2 -> Array object -> -/