zoukankan      html  css  js  c++  java
  • .net中的ref与out的区别和使用总结

    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方法结果输出:传值之后

  • 相关阅读:
    linux学习之线程篇(二)
    linux学习之线程篇(一)
    linux学习之进程篇(四)
    linux学习之信号篇(二)
    linux学习之信号篇(一)
    myshell案例
    linux学习之gdb调试工具篇
    linux学习之Makefile篇
    linux学习之进程篇(三)
    Linux常用命令-1
  • 原文地址:https://www.cnblogs.com/erpNet/p/4964855.html
Copyright © 2011-2022 走看看