You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当List<short?>为null无需过滤时,IQueryable扩展方法应返回什么?

问题解答

当参数List<short?> lastPriceDocs为null时,直接返回原IQueryable<CustItemTrades>对象trades即可,这样不会对原查询添加任何过滤条件,完全符合“无需过滤”的需求。

修正后的完整代码如下:

public static IQueryable<CustItemTrades> SeriesIdFilter(this 
IQueryable<CustItemTrades> trades, List<short?> lastPriceDocs) =>
    lastPriceDocs != null ? trades.Where(c => lastPriceDocs.Contains(c.SeriesId)) : trades;

补充说明

  • 返回原查询对象是LINQ扩展方法的常规设计思路,能保持查询链的连续性,不影响后续的其他查询操作。
  • 要是返回空的IQueryable(比如trades.Take(0)),反而会错误过滤掉所有数据,和需求相悖。

内容的提问来源于stack exchange,提问作者Sotiris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:10:23