码迷,mamicode.com
首页 > 其他好文 > 详细

值传递和引用传递02

时间:2015-10-16 13:15:17      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

  让我们再来看有关值传递和引用传递的例子:

            //值传递,传递的是这个值的本身
            int n = 10;
            int m = n;
            m = 40;
            Console.WriteLine(n);   // 10
            Console.WriteLine(m);   // 40
            //引用传递,传递的是对象的引用
            //p1 p2 共同指向了同一个堆上的地址
            //通过p2改变age,p1所指向的age也会跟着改变的
            Person p1 = new Person();
            p1.age = 20;
            Person p2 = p1;
            p2.age = 25;
            Console.WriteLine(p1.age);  //  25
            Console.WriteLine(p2.age);  //  25
            //字符串虽然属于引用类型,但由于它的不可变性
            //在改变s2所指向的内存后,s1所指向的内存不会跟着改变
            string s1 = "dssd";
            string s2 = s1;
            s2 = "rere";
            Console.WriteLine(s1); //   dssd
            Console.WriteLine(s2); //   rere
            //在参数前面加上ref修饰,传递的是参数的地址,值传递变成了引用传递
            int number = 10;
            Fun(ref number);
            Console.WriteLine(number);  //  20

        public static void Fun(ref int n) 
        {
            n += 10;
        }

 

值传递和引用传递02

标签:

原文地址:http://www.cnblogs.com/lcxBlog/p/4884772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!