黑马程序员技术交流社区
标题:
方法中out的用法
[打印本页]
作者:
王超洋
时间:
2012-5-15 14:43
标题:
方法中out的用法
本帖最后由 王超洋 于 2012-5-15 21:33 编辑
有一些疑问大家帮忙解决一下:
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串");
string s = Console.ReadLine();
int re = 0;
if(MyPass(s,out re) )
{
Console.WriteLine("转换成功"+re);
}
else
{
Console.WriteLine("转换失败");
}
Console.ReadKey();
}
public static bool MyPass(string s, out int result)
{
try
{
result = Convert.ToInt32(s);
return true;
}
catch
{
result = 0;
return false;
}
}
这道题的逻辑是不是这样:
用户输完之后就直接进入MyPass方法中的s,然后s转换之后赋给result,如果可以转换,result就赋给re, if(MyPass(s,out re) )这个if里面的s是传参给MyPass方法,out re是接收MyPass方法里传出来的参数,而MyPass(s,out re)就是一个bool类型,接收true或者false,这是我自己对着视频顺了大半小时顺下来的理解,不知道有什么地方有问题没?或者里面有什么比较细的知识点,希望哪位同学有不同的理解写一下,我参考参考,谢谢!
作者:
郑玉赛
时间:
2012-5-15 15:13
MyPass(s,out re)不是一个bool类型,而是mayPass本身还会返回一个bool值,定义MyPass这个方法 public static bool MyPass的时候就注明了会返回一个bool的值。
作者:
王卫
时间:
2012-5-15 19:44
if 里面 应该是 BOOL值 所以,return true; 返回一个 bool值 类型 ----方法中 out 就是 传出 int类型的 参数 result , 用re 接收 这个 int类型的参数 result , 但前面 也 需要 加上out关键字----这样 就可以 传出 两个值了 ---- 一般 方法 只能 有 一个 返回值 ----
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2