unity3D-游戏ARVR在线就业班 C#入门值类型和引用类型学习笔记

    xiaoxiao2021-12-14  60

    unity3D-游戏/AR/VR在线就业班 C#入门值类型和引用类型学习笔记 点击观看视频学习:http://edu.csdn.NET/lecturer/107

    一、值类型和引用类型

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

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

    String是特殊的引用类型

    using System; namespace Lesson_08 {     public class Person{         public  string  name;     }     class MainClass     {                  public static void Main (string[] args)         {             //值类型             //定义两个变量             int n1;             int n2;             //给第一个变量赋值             n1 = 5;             //让第二个变量等于第一个变量             n2 = n1;             //改变第二个变量             n1 += 2;             //把变量输出             Console.WriteLine ("N1=!"+n1);             Console.WriteLine ("N2=!"+n2);             //引用类型             //定义两个引用类型变量             Person p1;             Person p2;             //给第一个变量赋值             p1=new Person();             p1.name = "老王";             //改变第二个变量             p2=p1;             //改变第二个变量             p2.name="老张";             //把变量输出             Console.WriteLine ("p1=!"+p1.name);             Console.WriteLine ("p2=!"+p2.name);         }     } } 赋值

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

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

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

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

    using System; namespace Lesson_08 {     public class Person{         public  string  name;     }     class MainClass     {                  public static void Main (string[] args)         {             //值类型             //定义两个变量             //系统自动在栈中开辟空间,n1和n2数据存在的空间不同             int n1;             int n2;             //给第一个变量赋值             n1 = 5;             //让第二个变量等于第一个变量             n2 = n1;             //改变第二个变量             n2 += 2;             //把变量输出             Console.WriteLine ("N1="+n1);             Console.WriteLine ("N2="+n2);             //引用类型             //定义两个引用类型变量             Person p1;             Person p2;             //给第一个变量赋值             //当我们使用的时候才会开辟新的空间,在堆区开辟了空间,p1和p2使用一个数据空间             p1=new Person();             p1.name = "老王";             //改变第二个变量             p2=p1;             //改变第二个变量             p2.name="老张";             //把变量输出             Console.WriteLine ("p1="+p1.name);             Console.WriteLine ("p2="+p2.name);         }     } }

    转载请注明原文地址: https://ju.6miu.com/read-965648.html

    最新回复(0)