C#运行提示:并非所有的代码路径都返回值

Memory_Me 2009-10-18 04:14:57
public string SearchWord(string english)
{
WordNode p = Head;
Current = p;
for (int i = 0; i <= listCount; i++)
{
if (string.Equals(p.English, english))
{
GetCurrentValue();

break;
}

else
{
p = p.Next;
Current = p;

}

return "";



}


}
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tmd456 2009-10-18
  • 打赏
  • 举报
回复
引用楼主 memory_me 的回复:
public string SearchWord(string english)
{
WordNode p = Head;
Current = p;
for (int i = 0; i <= listCount; i++)
{
if (string.Equals(p.English, english))
{
GetCurrentValue();

break;
}

else
{
p = p.Next;
Current = p;
return p;
}

return "";


}


onenewsmile 2009-10-18
  • 打赏
  • 举报
回复
break;之后程序就跳出了循环,并不能保证一定执行return语句,所以会有这个提示。
onenewsmile 2009-10-18
  • 打赏
  • 举报
回复
break;之后程序就跳出了循环,并不能保证一定执行return语句,所以会有这个提示。
SimpleM 2009-10-18
  • 打赏
  • 举报
回复
你在break也放个return ""
Memory_Me 2009-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 power_wong 的回复:]
函数都要有返回值的。你应该将return语句放在循环之后。
[/Quote]

可是break;怎么是为访问到的代码呢
Memory_Me 2009-10-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 memory_me 的回复:]
public string SearchWord(string english)
        {
            WordNode p = Head;
            Current = p;
            for (int i = 0; i <= listCount; i++)
            {
                if (string.Equals(p.English, english))
                {
                    GetCurrentValue();

                      break;
                }

              else
                {
                    p = p.Next;
                    Current = p;

                }

                return  "";



            }


        }
[/Quote]
可是break;怎么是为访问到的代码呢
POWER_WONG 2009-10-18
  • 打赏
  • 举报
回复
函数都要有返回值的。你应该将return语句放在循环之后。

110,536

社区成员

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

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

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