值类型和引用类型

值类型和引用类型的区别:

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的别名)。 

储存:

值类型的值是存储在内存的栈当中。

引用类型的值是存储在内存的堆当中。

原文地址:https://www.cnblogs.com/TheMiao/p/9255689.html