他们都做同样的事情.一种方式更好吗?显然,如果我编写代码,我会知道我做了什么,但其他人如何阅读呢?
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
return RedirectToAction("Open", "ServiceCall");
Run Code Online (Sandbox Code Playgroud)
要么
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Open", "ServiceCall");
}
Run Code Online (Sandbox Code Playgroud)
And*_*ngs 30
return String.IsNullOrEmpty(returnUrl) ?
RedirectToAction("Open", "ServiceCall") :
Redirect(returnUrl);
Run Code Online (Sandbox Code Playgroud)
我更喜欢.
或替代方案:
return String.IsNullOrEmpty(returnUrl)
? RedirectToAction("Open", "ServiceCall")
: Redirect(returnUrl);
Run Code Online (Sandbox Code Playgroud)
Gav*_*ler 24
我认为最好删除not(否定)并首先得到肯定的断言:
if (String.IsNullOrEmpty(returnUrl))
{
return RedirectToAction("Open", "ServiceCall");
}
else
{
return Redirect(returnUrl);
}
Run Code Online (Sandbox Code Playgroud)
-要么-
// Andrew Rollings solution
return String.IsNullOrEmpty(returnUrl) ?
RedirectToAction("Open", "ServiceCall") :
Redirect(returnUrl);
Run Code Online (Sandbox Code Playgroud)
kro*_*old 21
一个风格问题:
if (String.IsNullOrEmpty(returnUrl))
{
return RedirectToAction("Open", "ServiceCall");
}
return Redirect(returnUrl);
Run Code Online (Sandbox Code Playgroud)
当你取消双重否定时,无论你选择哪种支撑方式,它都会读得更好.读得更好的代码总是最好的;)
我认为这是一个相当小的风格问题.我认为你的两个样本同样可读.
我更喜欢前者,但其他人只喜欢一个函数的一个退出点,可能会建议:
if (!String.IsNullOrEmpty(returnUrl))
{
result = Redirect(returnUrl);
}
else
{
result = RedirectToAction("Open", "ServiceCall");
}
return result;
Run Code Online (Sandbox Code Playgroud)