[英]Need help with Error: not all code paths return a value
我的方法是这样的:
protected string myMethod()
{
if (something)
{
string img = "A";
return img;
}
else
if(something else)
{
string img = "B";
return img;
}
}
当我运行代码时,显示“并非所有代码路径都返回值”。为什么? 该方法返回“字符串img”,那么为什么会出现此错误?
问你自己; 如果“其他”错误,会发生什么? 那么返回什么呢?
问题是如果something
是假的,而somthing else
也是假的。
这应该更好:
protected string myMethod()
{
string img = string.Empty;
if (something)
{
img = "A"
}
else
if(something else)
{
img = "B";
}
return img;
}
如果something
和something else
都不正确,则将无法执行任何操作,也不会返回任何字符串。 如果你的something
只是something else
的否定,那你就else
条件了。
与其他答案相同,但紧凑得多-
protected string myMethod()
{
return (something)? "A" : ((something else)? "B" : string.Empty);
}
protected string myMethod()
{
if (something)
{
string img = "A";
return img;
}
else
if(something else)
{
string img = "B";
return img;
}
reture some_String_To_Return
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.