3、值类型和引用类型 区别:
存储位置:值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。
传递方式:值类型传递实际值,引用类型传递是引用(地址)。
值类型存取速度快,引用类型存取速度慢。
值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用。
值类型继承自System.ValueType,引用类型继承自System.Object。 栈的内存分配是自动释放;而堆在.NET中会有GC来释放。
C#中基本数据类型是值类型,结构体、枚举也是值类型。而数组、类、接口、字符串都是引用类型。