½鹿True+ 2019-06-13 18:00 采纳率: 100%
浏览 774
已采纳

lambda表达式相关,将判断改写

如何能将如下代码里的判断用lambda表达式代替,主要是我图里框起来的部分,万分感谢

//获取当前登录用户授权的行政区划编码
            List<string> AreaCodeList = area.GetUserDistrictCode(AreaCode);

            if (string.IsNullOrEmpty(queryJson))
            {
                return this.BaseRepository("ground_report", "MySql").FindList(a => true, pagination).ToList();
            }
            else
            {
                Expression<Func<Grw_MonitorPointEntity, bool>> exp = a => true;
                if (HydGeoUnit1 != "") exp = exp.And(a => a.HydGeoUnit1.Contains(HydGeoUnit1));
                if (HydGeoUnit2 != "") exp = exp.And(a => a.HydGeoUnit2.Contains(HydGeoUnit2));
                if (InputValue != "") exp = exp.And(a => a.MonitorPointID.Contains(InputValue));
                exp = exp.And(a => a.Year == Year);
                if (AreaCode != "00")//非全国
                {
                    if (AreaCodeList != null)//授权的行政区划List不为空
                    {
                        if (AreaCodeList[0] != "000000")//非最高级别
                        {
                            if (AreaCodeList.Count > 1)
                            {
                                //不知道咋写
                            }
                            else
                            {
                                exp = exp.And(a => a.AreaCode.StartsWith(AreaCodeList[0].Substring(0, AreaCode.Length)));
                            }
                        }
                    }
                }
                    }
  • 写回答

1条回答

  • 茂大叔 2019-06-14 00:43
    关注
    exp = exp.And(a => AreaCodeList.Exists(x => a.AreaCode.StartsWith(x.Substring(0, AreaCode.Length))));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?