任何人都可以想到一种减少这种嵌套的if-else语句的优雅方法吗?

Met*_*uru 13 c#

if (Request.QueryString["UseGroups"] != null)
{
  if (Request.QueryString["UseGroups"] == "True")
  {
    report.IncludeGroupFiltering = true;
  }
  else
  {
    report.IncludeGroupFiltering = false;
  }
}
else
{
  report.IncludeGroupFiltering = false;
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 47

只需一张支票:

report.IncludeGroupFiltering = Request.QueryString["UseGroups"] == "True";
Run Code Online (Sandbox Code Playgroud)

有没有必要评价Request.QueryString["UseGroups"]两次-它只能是等于"真",如果它非空,比较将会很好地工作(并返回false),如果它空.

任何仍在进行两项操作的解决方案都过于复杂了:)

  • 如果这个解决方案会抛出,原始代码也会抛出,所以行为也是一样的. (2认同)

Dav*_*and 21

report.IncludeGroupFiltering = Request.QueryString["UseGroups"] == "True"
Run Code Online (Sandbox Code Playgroud)


Hut*_*ut8 14

report.IncludeGroupFiltering = Request.QueryString["UseGroups"] == "True";