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

c#ref和out的区别

时间:2018-07-08 12:33:43      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:text   登录密码   ret   传递参数   ons   登录   lse   region   turn   

ref:调用前需要赋值,用于传递参数的引用,而不是值.(有进有出)

out:方法内赋值,将值从方法内传到了方法外.(只出不进)

两者都属于引用传递;

 1         #region ref和out的区别
 2         /*
 3         ref:调用前需要赋值,用于传递参数的引用,而不是值.(有进有出)
 4 
 5         out:方法内赋值,将值从方法内传到了方法外.(只出不进)
 6 
 7         两者都属于引用传递;
 8         */
 9             string uid = "admin";
10             string pwd = "111111";  //正确登录密码为"666666",此处为错误密码
11             string msg = null;
12             if (CheckLogin(uid, pwd, out msg))
13             {
14                 Console.WriteLine("登录成功");
15             }
16             else
17             {
18                 Console.WriteLine("登录失败,错误原因是"+msg);
19             }
20             
21             #endregion
 1         public static bool CheckLogin(string uid , string pwd , out string msg )
 2         {
 3             if (uid == "admin" && pwd == "666666")  //账号密码正确,msg为空,登录成功
 4             {
 5                 msg = null;
 6                 return true;
 7             }
 8             else
 9             {
10                 msg = "用户名或密码错误";
11                 return false;
12             }
13         }

把out换成ref结果一样.

技术分享图片

c#ref和out的区别

标签:text   登录密码   ret   传递参数   ons   登录   lse   region   turn   

原文地址:https://www.cnblogs.com/Topof-TheWorld-YL/p/9279569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!