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);  //输出MOnday

Console.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

身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
原文地址:https://www.cnblogs.com/birdofparadise/p/7025659.html