永发信息网

关于C#的问题

答案:6  悬赏:60  手机版
解决时间 2021-05-15 16:41
  • 提问者网友:末路
  • 2021-05-14 19:48
我看了C#入门经典 里面介绍返回值return这段代码说 static double get()
{
double check;
if(check<5)
return4.7;

return 3.2;
}这里唯一的限制是return语句必须在函数的闭合花括号{之前处理。 但又说下面的代码是不合法的static double get()
{
double check;
if(check<5)
return4.7;

} 这是否指 如果if语句执行正确的话就执行return4.7;

如果错误的话 但这个函数又必须需要返回值 所以就执行return 3.2;
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-05-14 21:19

你想的也不错,这里说的合法与不合法是为了说明:如果你的函数有返回值的话应该在函数直接下进行返回,当然必须有返回值了,像第一个


static double get()
{
double check;
if(check<5)
return4.7;

return 3.2;
}


相当于


static double get()
{
double check;
if(check<5)


{
return4.7;


}

return 3.2;
}


所以不管if语句成立,都会返回值,当然就是正确的了,但是像下面的那个
static double get()
{
double check;
if(check<5)
return4.7;

}


是说只有在你if成立的情况下才返回,那么其余情况返回的值呢?因此会抛出异常的

全部回答
  • 1楼网友:像个废品
  • 2021-05-15 02:31

static double get() { double check; if(check<5) return4.7; }

这个方法如果条件不成立 就不会有返回值了 但是方法签名要求必须有返回值

而且这个方法中的变量好像没有初始化

  • 2楼网友:枭雄戏美人
  • 2021-05-15 01:23

逻辑有问题 换成if else

  • 3楼网友:迷人又混蛋
  • 2021-05-15 00:02

第二个函数,当check>5时,是没有返回值的,当然不合法了

  • 4楼网友:神的生死簿
  • 2021-05-14 22:47

是的 函数类型除void类型外必须主动指明返回值

  • 5楼网友:舍身薄凉客
  • 2021-05-14 22:14

static double get() { double check; if(check<5) return4.7;

else

return 3.2; }

这样就可以了啊!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯