在C#开发中,查询数据库时程序运行缓慢或内存占用过高,常源于对`IQueryable`与`IEnumerable`的误用。`IQueryable`支持延迟执行与服务端表达式树翻译,可将过滤、分页等操作下推至数据库;而`IEnumerable`则在内存中执行遍历与计算,易导致全量数据加载,引发性能瓶颈与内存溢出。尤其在处理大量数据时,不当调用`.ToList()`或`.ToArray()`提前枚举,会显著加剧内存压力。正确区分二者生命周期与执行时机,是实现C#性能优化与数据库查询效率提升的关键实践。
IQueryableIEnumerableC#性能数据库查询内存优化
2026-02-02