C#里面不能这样判断吗

ys91323 2004-12-03 09:56:39
if(country=="CN")
{
return 1;
}
else if (country=="TW")
{
return 2;
}
编译错误是不是:并非所有的代码路径都有返回值

这怎么可能,因为我只判断country为cn或tw的
...全文
141 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcly 2004-12-03
  • 打赏
  • 举报
回复
你要看看你这个函数是返回什么类型,如果是STRING 肯定不行。
skyhill13 2004-12-03
  • 打赏
  • 举报
回复
我觉得你先检查一下你的函数是不是没有返回值void的,函数要有返回值才可以的,
hebookboy 2004-12-03
  • 打赏
  • 举报
回复
我看还是用switch吧
这样好像要好一点吧
hanbinghai 2004-12-03
  • 打赏
  • 举报
回复
和楼上一样,^_^
hanbinghai 2004-12-03
  • 打赏
  • 举报
回复
假设country只为cn或tw两种情况
if(country=="CN")
{
return 1;
}
return 2;
lilionline 2004-12-03
  • 打赏
  • 举报
回复
如果只有"CN"和"TW"两个值的话,这样写性能最好:
if (country.Equals("CN"))
{
return 1;
}
return 2;
tjp22 2004-12-03
  • 打赏
  • 举报
回复

以上正确,额外说一句,如果使用以下写法,程序性能会好写:

if(country.Equals("CN"))
{
return 1;
}
else
{
return 2;
}

能用Equals就用而少用"=="
jlsoft758010 2004-12-03
  • 打赏
  • 举报
回复

if(country=="CN")
{
return "1";
}
else if (country=="TW")
{
return "2";
}
//这里必须有返回值。
yellowhwb 2004-12-03
  • 打赏
  • 举报
回复
因为电脑不知道你只有CN和TW2个值啊!
yellowhwb 2004-12-03
  • 打赏
  • 举报
回复
这样是错的,你要:
if(country=="CN")
{
return 1;
}
else
{
return 2;
}
exboy 2004-12-03
  • 打赏
  • 举报
回复
如果 country 不等 CN 也不等于 TW, 那不是函数就没有返回值了?

所以在最后面还要返回一个值,来表示不等于 CN, TW, 如:

if(country=="CN")
{
return 1;
}
else if (country=="TW")
{
return 2;
}
else
{
return 3;
}

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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