在IF-ELSE语句中指定匿名

本文关键字:IF-ELSE 语句 | 更新日期: 2023-09-27 18:08:19

请考虑以下代码:

 var Final = result.OrderBy(p => p.AreaCode).ThenBy(p => p.PCode).Skip(PageSize * (PageNo - 1)).Take(PageSize);
  if (PageSize == 0)
  {
      Final = result.OrderBy(p => p.AreaCode).ThenBy(p => p.PCode);
  } 

因为匿名类型应该赋值给表达式,所以我不能这样写:

   var Final ;
   if(PageSize > 0 )
   {
      Final =  result.OrderBy(p => p.AreaCode).ThenBy(p => p.PCode).Skip(PageSize * (PageNo - 1)).Take(PageSize);
   }
  else
  {
      Final = result.OrderBy(p => p.AreaCode).ThenBy(p => p.PCode);
  } 

我怎样才能把上面丑陋的代码写得更好?

谢谢

在IF-ELSE语句中指定匿名

你可以做得更好,像下面这样:

var Final = result.OrderBy(p => p.AreaCode).ThenBy(p => p.PCode);
if (PageSize > 0)
    Final = Final.Skip(PageSize * (PageNo - 1)).Take(PageSize);