折腾代码:这里的 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中的值全部返回,该如何做??
求助大侠们!!小虾先谢谢了!!