美文网首页
【蓝鸥AR/VR开发基础二】值类型和引用类型

【蓝鸥AR/VR开发基础二】值类型和引用类型

作者: 蓝鸥3G | 来源:发表于2016-09-06 14:08 被阅读0次

    蓝鸥(www.lanou3g.com)是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发、HTML5前端开发和Web安全攻防等技术人才的培养。

    一、值类型和引用类型

    值类型在栈中分配空间,由系统自动分配

    引用类型在堆中分配空间,由我们用new分配

    String是特殊的引用类型

    usingSystem;

    namespaceLesson_08

    {

    publicclassPerson{

    publicstringname;

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    //值类型

    //定义两个变量

    intn1;

    intn2;

    //给第一个变量赋值

    n1=5;

    //让第二个变量等于第一个变量

    n2=n1;

    //改变第二个变量

    n1+=2;

    //把变量输出

    Console.WriteLine("N1=!"+n1);

    Console.WriteLine("N2=!"+n2);

    //引用类型

    //定义两个引用类型变量

    Personp1;

    Personp2;

    //给第一个变量赋值

    p1=newPerson();

    p1.name="老王";

    //改变第二个变量

    p2=p1;

    //改变第二个变量

    p2.name="老张";

    //把变量输出

    Console.WriteLine("p1=!"+p1.name);

    Console.WriteLine("p2=!"+p2.name);

    }

    }

    }

    二、内存中的区域:堆区(手动分配,C#中具有垃圾回收机制,所以不用手动释放)和栈区(自动分配,自动释放)

    值类型的变量数据存储在栈内存区域

    引用类型的变量数据存储在堆内区域

    值类型变量互相赋值之后,对灵感变量的任何错做都不会互相影响,因为它们各自有独立的存储空间,操作的是两个不同的数据。

    引用类型互相赋值之后,它们公用一个空间的数据,会互相影响。

    值类型和引用类型课堂代码:

    usingSystem;

    namespaceLesson_08

    {

    publicclassPerson{

    publicstringname;

    }

    classMainClass

    {

    publicstaticvoidMain(string[]args)

    {

    //值类型

    //定义两个变量

    //系统自动在栈中开辟空间,n1和n2数据存在的空间不同

    intn1;

    intn2;

    //给第一个变量赋值

    n1=5;

    //让第二个变量等于第一个变量

    n2=n1;

    //改变第二个变量

    n2+=2;

    //把变量输出

    Console.WriteLine("N1="+n1);

    Console.WriteLine("N2="+n2);

    //引用类型

    //定义两个引用类型变量

    Personp1;

    Personp2;

    //给第一个变量赋值

    //当我们使用的时候才会开辟新的空间,在堆区开辟了空间,p1和p2使用一个数据空间

    p1=newPerson();

    p1.name="老王";

    //改变第二个变量

    p2=p1;

    //改变第二个变量

    p2.name="老张";

    //把变量输出

    Console.WriteLine("p1="+p1.name);

    Console.WriteLine("p2="+p2.name);

    }

    }

    }

    相关文章

      网友评论

          本文标题:【蓝鸥AR/VR开发基础二】值类型和引用类型

          本文链接:https://www.haomeiwen.com/subject/sbudettx.html