社区
C#
帖子详情
这种情况怎么返回值
giraffedl
2003-09-11 11:13:01
在C#中,我构造了下面的循环,当i的值等于5的时候,我想程序返回一个"false"值。可是编译的时候却报错:“并非所有的代码路径都返回值”这种情况下面我应该怎样取得返回值呢?
========================================
public bool Demo()
{
for(int i=0;i<=10;i++)
{
if(i==5)
{
return false;
}
}
}
...全文
26
14
打赏
收藏
这种情况怎么返回值
在C#中,我构造了下面的循环,当i的值等于5的时候,我想程序返回一个"false"值。可是编译的时候却报错:“并非所有的代码路径都返回值”这种情况下面我应该怎样取得返回值呢? ======================================== public bool Demo() { for(int i=0;i<=10;i++) { if(i==5) { return false; } } }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
badcody
2003-10-09
打赏
举报
回复
foxflying(会飞的鱼) :同意你的看法。
在一些代码量比较小的地方可以直接写return,但理论上来讲,写一个最终的return才是使逻辑更清晰化的方式。
wangj2001
2003-10-09
打赏
举报
回复
public bool Demo()
{
for(int i=0;i<=10;i++)
{
if(i==5)
{
return false;
break;
}
}
return true;
}
foxflying
2003-10-09
打赏
举报
回复
呵呵,没想到会引发这么多讨论。
如果一定要在i==5的时候返回,那么在
bck = true;
后面加上一个
break;
就可以了。
to badcody(升龙就是硬道理)
从这个程序来说可以不声明一个专门的返回变量。可是当有多个判断的时候,就有必要声明一个专门的返回变量,这样可以保证程序更容易被别人看懂。如果到处都是return,看起来就不容易明白了。
ffj521
2003-10-09
打赏
举报
回复
xixigongzhu(夕夕公主) is right!
拿棵草
2003-10-09
打赏
举报
回复
对,同意badcody说的.其实小弟人为,学什么语言并不重要,最重要的是思路,是想法,是实现的算法.
小弟我是一个初学C#的新手,请大家多多关照!
badcody
2003-10-09
打赏
举报
回复
xixigongzhu(夕夕公主) 的更好拉,除非特别必要,要不然不用声明一个bool变量(bool bck = false;)用于返回,可以直接return,避免进行多余的循环;
实际情况是:
foxflying(会飞的鱼) 的代码会循环11次, xixigongzhu(夕夕公主) 的代码只循环5次。
xiaoleifeng
2003-10-09
打赏
举报
回复
foxflying(会飞的鱼)
说的是正确的!
badcody
2003-10-09
打赏
举报
回复
eheartcool(ced) 的代码不妥当,循环一次就return了。
iamjialin(雨林) 的也不对,其结果一定是返回 true;
foxflying(会飞的鱼)的代码才是正确的。
xixigongzhu
2003-10-09
打赏
举报
回复
public bool Demo()
{
for(int i=0;i<=10;i++)
{
if(i==5)
{
return false;
}
}
return true;
}
出错是因为在方法的最后没有返回值。如果方法定义有返回值,那么必须保证所有可能的代码路径都必须有返回值。而斑竹只在i==5的时候有返回值,所以报错。
iamjialin
2003-10-09
打赏
举报
回复
更正上面 return bl;
windinwing
2003-10-09
打赏
举报
回复
to foxflying(会飞的鱼)
iamjialin
2003-10-09
打赏
举报
回复
public bool Demo()
{
bool bl = false;
for(int i=0;i<=10;i++)
{
if(i==5)
{
bl = false;
}
else
{
bl = true;
}
}
return bck;
}
foxflying
2003-10-09
打赏
举报
回复
最好写成这样:
public bool Demo()
{
bool bck = false;
for(int i=0;i<=10;i++)
{
if(i==5)
{
bck = true;
}
}
return bck;
}
tigase
2003-10-09
打赏
举报
回复
public bool Demo()
{
for(int i=0;i<=10;i++)
{
if(i==5)
{
return false;
}
else
{
return true
}
}
}
为什么好在C++中使用异常
但是
这种
做法大的问题是如果调用者不主动检查
返回值
也是可以被编译器接受的,你也奈何不了他:) 这在C++中还导致另外一个问题,是重载函数不能只有不同的
返回值
,而有相同的参数表,因为如果调用者不检查
返回值
,则...
Python进阶之路 7.2.3 没有
返回值
的函数
并不是所有的函数都需要
返回值
,有一些函数只需要在内部处理些东西,如果要输出,可以直接通过print函数输出信息,那么在
这种
情况
下,就没有必要返回函数。 在几乎所有的编程语言中,都会有
这种
没有
返回值
的函数。在...
C++函数
返回值
是自定义类型
情况
1
返回值
是自定义类的非引用类型在
这种
情况
下,使用该类拷贝构造函数,根据
返回值
来创建该类的新的对象。class Person { Person(int age) {//构造函数 cout << "param constructor!" &...
python中list的两个无
返回值
函数
list是python中一个比较常用的数据结构,相当于其它语言的数据,list有很多方法,但是有的方法有
返回值
,有的没有
返回值
,因为多数
情况
下我调用函数的时候,习惯的认为函数会有
返回值
,但是如果突然出来个无
返回值
的...
java方法中
返回值
的理解_正确理解Java方法的
返回值
首先来看一段代码我们把这段代码...而在代码②当中,
情况
正好相反,方法声明的
返回值
类型是int,方法内部的return关键字实际返回了一个double类型的值,在
这种
情况
下,编译器却报出了语法错误。对比一下这两种
情况
,...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章