return语句 检测到无法访问的代码

dnvvj 2008-06-12 08:51:14
在第二个return语句下面有绿色的曲线注释。把鼠标放上去以后提示:检测到无法访问的代码,可是结果还是可以把val1 和val2的值都正确算出来。这是为什么呢
正确的方法应该怎样写。如何正确的return这两个值呢?

namespace Function
{
class Program
{
static double write(int val1,double val2)
{

Console.WriteLine("\"{0}\"\n\"{1}\" \nval1 + val2 = {2}", val1, val2, val1+val2);
return val1;
return val2;

}
static void Main(string[] args)
{
byte aaa = 5;
double bbb = 2.7;
write(aaa,bbb);
Console.ReadKey();
}
}
}
...全文
248 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
迈克尔1998 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 akunshenjk 的回复:]
return val1;
return val2;
第一个return已经跳出程序块了,第二个就无效了
[/Quote]

执行顺序的问题
Coco孙 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 maddemon 的回复:]
既然要返回2个值就不能用 double作为返回类型。

return val1 就退出函数了,自然不能访问到第二个return

static double[] write(int val1, double val2)
{

Console.WriteLine("\"{0}\"\n\"{1}\" \nval1 + val2 = {2}", val1, val2, val1+val2);
double[] result = { val1, val2 };
return result;
}


[/Quote]
iyori 2008-06-13
  • 打赏
  • 举报
回复
return val1;
return val2;

什么意义呢?
conan304 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wxg22526451 的回复:]
static double write方法只能return一个值。。
要么返回数组或字符串,或用1楼的out输出
[/Quote]
同意,1楼2楼的都可以。
只不过2楼的全部返回double数组,int隐式转为double。
akunshenjk 2008-06-13
  • 打赏
  • 举报
回复
return val1;
return val2;
第一个return已经跳出程序块了,第二个就无效了
Martin-月影 2008-06-13
  • 打赏
  • 举报
回复
return val1;
return val2;


只能够 return 一个
有一个是不执行的
就是 return val2 不执行

changjiangzhibin 2008-06-12
  • 打赏
  • 举报
回复
也可做成返回一个结构、类、接口、泛型等
amandag 2008-06-12
  • 打赏
  • 举报
回复
static void write(int val1,double val2)
{
Console.WriteLine("\"{0}\"\n\"{1}\" \nval1 + val2 = {2}", val1, val2, val1+val2);
}
zsxghost 2008-06-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Feiin 的回复:]
static void write(out int val1, out double val2)


[/Quote]
zpcoder 2008-06-12
  • 打赏
  • 举报
回复
            string str=("\"{0}\"\n\"{1}\"   \nval1 + val2 = {2}", val1, val2, val1+val2);
Console.WriteLine(str);
return str;
wxg22526451 2008-06-12
  • 打赏
  • 举报
回复
static double write方法只能return一个值。。
要么返回数组或字符串,或用1楼的out输出
maddemon 2008-06-12
  • 打赏
  • 举报
回复
既然要返回2个值就不能用 double作为返回类型。

return val1 就退出函数了,自然不能访问到第二个return

static double[] write(int val1, double val2)
{

Console.WriteLine("\"{0}\"\n\"{1}\" \nval1 + val2 = {2}", val1, val2, val1+val2);
double[] result = { val1, val2 };
return result;
}

Feiin 2008-06-12
  • 打赏
  • 举报
回复
static void write(out int val1, out double val2)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧