C# 需要错误帮助:并非所有代码路径都返回值
我的方法是这样的:-C# 需要错误帮助:并非所有代码路径都返回值,c#,C#,我的方法是这样的:- protected string myMethod() { if (something) { string img = "A"; return img; } else if(something else) { string img = "B"; return
protected string myMethod()
{
if (something)
{
string img = "A";
return img;
}
else
if(something else)
{
string img = "B";
return img;
}
}
当我运行代码时,会显示“并非所有代码路径都返回值”。为什么?该方法返回“字符串img”,那么为什么会出现此错误?问问自己;如果“其他东西”是假的,会发生什么?然后返回什么?如果
某物
和其他某物
都不正确,则无法执行任何操作,也没有要返回的字符串。
如果你的
something
只是something
的否定,你不应该在else
之后有任何条件,问题是something
是假的,而something
也是假的
protected string myMethod()
{
if (something)
{
string img = "A";
return img;
}
else
if(something else)
{
string img = "B";
return img;
}
reture some_String_To_Return
}
这应该更好:
protected string myMethod()
{
string img = string.Empty;
if (something)
{
img = "A"
}
else
if(something else)
{
img = "B";
}
return img;
}
与其他答案相同,但更紧凑的一个-
protected string myMethod()
{
return (something)? "A" : ((something else)? "B" : string.Empty);
}
“相互排斥”并不意味着完全覆盖。这看起来像是一个等待发生的错误。。。您似乎在为前两个返回字符串,为最后一个返回布尔值(假设前面的某个对象用作布尔值),或者最后一个对象更像是“另一个对象”吗?您的报税表中有一个输入错误,如果您确实进行了编辑,您不妨更正一下。:)