先不说大道理,看段代码吧:
ClassA objA = new ClassA();
objA.m_nValue = 1;
ClassA objA2 = objA;
objA.m_nValue = 2;
MessageBox.Show(objA2.m_nValue.ToString());
当ClassA是一个Class的时候,和ClassA是一个Struct的时候,结果会不一样哦!
Class:内存从堆中分配,objA2指向了objA, 所以,看到的值会是2;
Struct:内存从栈中分配,objA2复制了一份objA, 所以,看到的值会是1;