C#引用类型和值类型的介绍与实例

Honey ·
更新时间:2024-11-10
· 665 次阅读

代码如下:
static void Main(string[] args)
        {
            //值类型
            bool b1 = true;  //栈中划一块内存,名字为b1,类型为bool,值为true
            Console.WriteLine("b1="+b1);  // b1 =true

            bool b2 = b1;    //栈中划一块内存,名字为b2,类型为bool,和b1的值一样为ture
            Console.WriteLine("b2="+b2);  // b2 = false

            b1 = false;      //将栈中b1的值改为false
            Console.WriteLine("b1=" + b1); // b1 = false
            Console.WriteLine("b2=" + b2); // b2 = true
            Console.ReadKey();

            //引用类型
            int[] a1 = { 1, 2, 3 }; //栈中划一块内存,名字为a1,类型为int[],值为一个地址
                                    //堆中划连续3个int空间,将首地址赋给栈的值
            Console.WriteLine("a1[1]=" + a1[1]);

            int[] a2 = a1;          //栈中划一块内存,名字为a1,类型为int[],值的地址为数组a1的地址
            Console.WriteLine("a2[1]=" + a2[1]);

            a1[1] = 9;              //根据地址修改,堆中的数据
            Console.WriteLine("a1[1]=" + a1[1]);
            Console.WriteLine("a2[1]=" + a2[1]);
            Console.ReadKey();

        }

您可能感兴趣的文章:c# 引用类型和值类型c# 引用类型与值类型的区别详解C#值类型和引用类型的深入理解c#字符串值类型与引用类型比较示例c#值类型和引用类型使用示例C#中值类型和引用类型的区别深度分析C#值类型、引用类型中的Equals和==的区别浅析C#编程自学之数据类型和变量二



值类型 C# 引用类型

需要 登录 后方可回复, 如果你还没有账号请 注册新账号