首页 > Windows开发 > 详细

C#基础

时间:2015-06-15 18:21:02      阅读:342      评论:0      收藏:0      [点我收藏+]
在C#中,你给一个方法传输值类型参数时,实际上是使用的这个参数的一个副本,就是将原来的变量复制一份,然后传给一个方法,让其进行操作。所以在方法内部对参数的修改等不会对原来的参数造成影响(这个其实就是值类型和引用类型的区别)。但是有些时候,又需要这种影响。ref的作用就是这个。它将变量本身而不是副本传给方法,所以对参数的修改原来变量的值。ref需要在传入前赋值,out不需要。ref不需要关心函数体中发生了什么,函数体对ref透明。而out却不是,在函数体中不能将没有赋值的out参数赋值给其他成员,在函数退出前必须对out参数赋值。
class Program{
static void Main(string[] args)
        {
            int x = 8;
            MM(x);
            Console.WriteLine(x);
            MMM(ref x);
            Console.WriteLine(x);

        }
        static void MM(int x)
        {
            x = 10;
        }
        static void MMM(ref int x)
        {
            x = 10;
        }
    }

 

C#基础

原文:http://www.cnblogs.com/772933011qq/p/4578512.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!