protected void Button3_Click(object sender, EventArgs e) { var list = Code.ProductDataManage.Instance.AllCache;//指定一个数据源 #region 常规查找 多次计算和内存操作,增加成本 var list2 = list.Where(b => b.Id > 0);//执行一次内存查找 bool a = false; if (a) { list2 = list.Where(b => b.Number > 10);//执行第二次内存查找 } #endregion #region 优化后查找 只需一次 CRL.ExpressionJoin<Code.ProductData> query = new CRL.ExpressionJoin<Code.ProductData>(b=>b.Id>0); if (a) { query.And(b => b.Number > 10);//and 一个查询条件 } list2 = query.Where(list);//返回查询结果 只作一次内存查找 #endregion }
protected void Button3_Click(object sender, EventArgs e) { var list = Code.ProductDataManage.Instance.AllCache;//指定一个数据源 #region 常规查找 多次计算和内存操作,增加成本 var list2 = list.Where(b => b.Id > 0);//执行一次内存查找 bool a = false; if (a) { list2 = list.Where(b => b.Number > 10);//执行第二次内存查找 } #endregion #region 优化后查找 只需一次 CRL.ExpressionJoin <Code.ProductData> query = new CRL.ExpressionJoin <Code.ProductData>(b => b.Id > 0); if (a) { query.And(b => b.Number > 10); //and 一个查询条件 } list2 = query.Where(list); //返回查询结果 只作一次内存查找 #endregion }