首页 > Web开发 > 详细

.net中的ref与out的区别和使用总结

时间:2015-11-14 19:11:19      阅读:235      评论:0      收藏:0      [点我收藏+]

ref和out的使用及区别

  1.  ref的使用:使用ref进行参数的传递时,该参数在创建时,必须设置其初始值,且ref侧重于修改;

  2. out的使用: 采用out参数传递时,该参数在创建时,可以不设置初始值,但是在方法中必须初始化,out侧重于输出;

注释:当希望方法返回多个值时,可以用out,并且一个方法中的参数可以有一个或多个out参数;使用 out 参数,必须将参数作为 out 参数显式传递到方法中,但是out 参数的值不会被传递到 方法中,且属性不是变量,不能作为 out 参数传递。

    ref是有进有出,而out是只出不进。

举例如下:

out的使用

 

   class Program
    {
        static void Main(string[] args)
        {

 

     string tmp;    //先声明,但不初始化

 

     User _user=new User();      

 

     _user.Name(out tmp);        //调用Name方法

 

              Console.WriteLine("{0}",tmp); //这时tmp的值为“在这里面赋值了”

 

              Console.ReadKey(true);

 

   }

 

     }

 

  class User{

 

    public void Name(out string tmps)

 

           {

 

       tmps="在这里面赋值了";

 

           }

 

      }

 

       使用out结果输出: 在这里面赋值了

 

 ref的使用

 

   class Program
    {
        static void Main(string[] args)
        {

 

     string tmp="传值之前";    //声明并初始化        这时如果输出tmp值为"传值之前"

 

          User _user=new User();

 

              _user.Name(ref tmp);

 

              Console.WriteLine("{0}",tmp);

 

              Console.ReadKey(true);

 

        }

 

    }

 

    class User {

 

         public void Name(ref string tmps)

 

         {

 

              tmps="传值之后";

 

         }

 

    }

 

 

    使用ref方法结果输出:传值之后

 

.net中的ref与out的区别和使用总结

原文:http://www.cnblogs.com/erpNet/p/4964855.html

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