标题:折腾代码:这里的 return 返回值,是一个?还是多个?
取消只看楼主
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
结帖率:96.15%
已结贴  问题点数:10 回复次数:0 
折腾代码:这里的 return 返回值,是一个?还是多个?
一、题目 通过方法的return语句返回值
    class MyClass
    {
        public int myMethod()
        {
            int i=8;
            if (i > 4)
                {
                    i = i * 2;
                    return i;
                }
                else
                {
                    i = i * 3;
                    return i;
                }
            }
        }
        static void Main()
        {
            MyClass mycls = new MyClass();
            Console.WriteLine(mycls.myMethod());

            Console.ReadLine();
        }
    }

这段代码是例题的代码,运行后是正确的。输出到屏幕的显示为:16

二、折腾代码
    折腾代码的思路是:在方法体内运用for语句,想产生若干个return返回值。然后在屏幕上显示。代码如下:
    class MyClass
    {
        public int myMethod()
        {
            int k;
            for (int i = 1; i <= 8; i++)
            {
                if (i > 4)
                {
                    k = i * 2;

                    return k;
                }

                else
                {
                    k = i * 3;

                    return k;
                }
            }
        }
        static void Main()
        {
            MyClass mycls = new MyClass();
            Console.WriteLine(mycls.myMethod());

            Console.ReadLine();
        }
    }

运行后,产生两个错误:1)检测到无法访问的代码。即,for中的i++之i;2)public int myMethod(): 并非所有的代码路径都返回值;

三、当前思考
虽然这次折腾代码失败了,但是我觉得很有意义。通过这样以自己的思路折腾代码,对代码的理解就会加深。此处,我的理解是:return返回的值只有一个,在for中i=1时,就产生了一个返回值,这时调用方法就结束了。

求教:1)我的理解是否正确??2)此处return返回值到底几个?3)如果要把for中的值全部返回,该如何做??
求助大侠们!!小虾先谢谢了!!
搜索更多相关主题的帖子: public return 
2014-06-15 17:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-432960-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056457 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved