码迷,mamicode.com
首页 > Windows程序 > 详细

C#基础

时间:2015-06-15 18:23:24      阅读:141      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!