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

  • 相关阅读:
    ios逆向工程-内部钩子(Method Swizzling)
    ios逆向工程-动态分析
    ios逆向工程-静态分析
    Android Hook神器:XPosed入门与登陆劫持演示
    Android HOOK工具Cydia Substrate使用详解
    Android Hook框架Xposed详解
    Android Hook 框架 Cydia_substrate 详解
    Android上玩玩Hook:Cydia Substrate实战
    iOS8扩展插件开发配置 [转载]
    SQL触发器调用.NET的类方法
  • 原文地址:https://www.cnblogs.com/erpNet/p/4964855.html
Copyright © 2011-2022 走看看