A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王超洋 中级黑马   /  2012-5-15 14:43  /  1630 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王超洋 于 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,这是我自己对着视频顺了大半小时顺下来的理解,不知道有什么地方有问题没?或者里面有什么比较细的知识点,希望哪位同学有不同的理解写一下,我参考参考,谢谢!

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

3 个回复

倒序浏览
MyPass(s,out re)不是一个bool类型,而是mayPass本身还会返回一个bool值,定义MyPass这个方法 public static bool MyPass的时候就注明了会返回一个bool的值。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
if 里面 应该是 BOOL值  所以,return true; 返回一个 bool值 类型 ----方法中 out 就是 传出 int类型的 参数 result , 用re 接收 这个 int类型的参数 result ,  但前面 也 需要 加上out关键字----这样 就可以 传出 两个值了 ---- 一般 方法 只能 有 一个 返回值 ----

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马