PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > ASP.NET教程 > 正文

    C#复习笔记——ref和out 关键字的区别?

    作者:admin来源:B5教程网浏览:时间:2020-09-30 00:07:50我要评论
    导读:一路狂奔,该停下来复习一下了、、子曰:温故而知新 昨天晚上睡的早了点 故今天早晨就起的早了 呼吸着新鲜的空气 怎一个爽 字了得 带
    一路狂奔,该停下来复习一下了、、子曰:“温故而知新” 昨天晚上睡的早了点 故今天早晨就起的早了    呼吸着新鲜的空气 怎一个“爽” 字了得   带着美好的心情 小看了一下C#的方法参数传递中 : ref   和 out  有什么区别呢?

     

    //==============================

     // 于是乎!把(ref  和 out )两位大侠,请到了寒舍,恭以待之,以敬程序员对两位大侠之礼

    Look at this code:

                   void  Square(ref int n )

                    {

                      n=n*n;

                    }

        很简单的一个平方的一个方法,

          int a ;

                  Square(ref a );

          请了  ref  先生看了一下 哇! ref 先生大怒 ,说 请我来居然不知道我的习惯,你不知道在用我之前 必须先给我一个值吗? 小生惭愧不已!连忙修正

                   int money = 4;

                   Square(ref  money);

                    然后,再请 ref 先生审视,ref 先生也露出了两颗洁白的门牙,冲我笑了笑,昌兄弟啊!看你对我还有点印象,现在你看money是多少? , 哇塞!成 16 了;  此时,坐在旁边的 out  先生看不下去了,他说我也能打到如此的效果,为了和ref 先生比试一下谁的武艺高强?他们决定一决高下?

          Look at this  code :

          //省略自动生成的方法
            static void Main(string[] args)
            { 
                   string message;

                   CheckLogin("tom","123",out message);

                   Console.Write(message); //(郎有话要说:此时的你是否有疑问呢?message 能否输出来呢!)

                
           }
           
            //根据用户名密码登陆

            public UserInfo CheckLogin(string name,string pwd,out string msg)

            {

                UserInfo ui = UserManager.GetUserByUserName(name);

                if(ui == null)

                {

                    msg = "没有该用户.";

                    return null;

                }

                if(ui.Pwd != pwd)

                {

                    msg = "密码错误";

                    return null; 
                }

                msg = "登陆成功";

                return ui;

            }
    //******************************************

    out 先生 也小露了一下自己的才艺

      郎有话要说:

           ref 相当于传递进来的是对应参数的引用(相当于参数地址),所以在调用方法以前,必须把指定的参数 "初始化"(希望大家别想我一样对ref 先生那么不敬),否则就会传入 "空指针";

            out 的作用,就是让方法能够通过 out 的参数传出数据,相当于让一个方法可以返回多个值(return 最多返回一个值)。因为 out 是为了传出数据,所以传入以前是否初始化无关紧要,但在完成方法以前,一定要对 out 的参数赋值,毕竟是传出参数。

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-11-121-1.html
    相关热词搜索: C ref out 关键字