我看了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;
关于C#的问题
答案:6 悬赏:60 手机版
解决时间 2021-05-15 16:41
- 提问者网友:末路
- 2021-05-14 19:48
最佳答案
- 五星知识达人网友:污到你湿
- 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; }
这样就可以了啊!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯