首页 > 代码库 > C#引用类型和值类型

C#引用类型和值类型

C#引用类型和值类型

1 区别:

值类型存储在内存的栈上面,而引用类型在内存的栈上面存储了一个引用,在堆上面存储具体的值。

2 值类型:
//值类型:System.ValueType 继承与system.object            int m;//正式名:System.Int32            bool a = true;            MyStruct myStruct;            MyEnum myEnum;

enum讲解:

public enum MyEnum{  Monday = 0,//默认是0,也可以修改成1,然后后面的数值会依次增加。  Tuesday}也可以将enum继承short等类型,里面内容也会相应的变化。

enum输出:

Console.WriteLine(MyEnum.Monday);  //输出MOndayConsole.WriteLine((int)MyEnum.Monday);  //输出0
3 引用类型

包括object、string 、dynamic

3.1 object

object o = new object(); //正常写法object o2 = new Object();//大写也正确,相当于system.Object
string == 判断的是内容是否相等
object(string) == 判断的是地址,因为是引用类型,而string也是应用类型,但是进行了重载。

3.2 string,class,interface

 

C#引用类型和值类型