c#ref和out的区别

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结果一样.

猜你喜欢

转载自www.cnblogs.com/Topof-TheWorld-YL/p/9279569.html
今日推荐