值类型和引用类型的区别:
1. 值类型和引用类型在内存上储存的地方不一样。堆和栈。
2.在传递值类型和传递引用类型的时候,传递的方式不一样。
值类型我们称之为值传递,引用类型我们称之为引用传递。
值类型:int, double, bool, char, decimal, struct, enum
C#有以下一些引用类型:
数组(派生于System.Array)
用户需定义以下类型。
类:class(派生于System.Object);
接口:interface(接口不是一个“东西”,所以不存在派生于何处的问题。接口只是表示一种contract约定[contract])。
委托:delegate(派生于System.Delegate)。
object(System.Object的别名);
字符串:string(System.String的别名)。
储存:
值类型的值是存储在内存的栈当中。
引用类型的值是存储在内存的堆当中。