返回空IEnumerable的最新方式是什么?
返回空IEnumerable的最新方式
当返回类型为IEnumerable<ReportFileResult>时,三种写法的对比和最新方案如下:
return [];:这是C# 12及以后版本引入的集合表达式语法,是当前最新的写法。它语法极度简洁,编译器会根据返回类型自动推断生成适配的空集合实现,完全满足IEnumerable<ReportFileResult>的返回要求,是当前推荐的首选写法(前提是项目使用C# 12+)。return Enumerable.Empty<ReportFileResult>();:这是经典的通用写法,在所有支持LINQ的.NET版本中都能使用,内部返回一个预缓存的空只读集合,性能稳定,兼容性拉满,但语法上不如集合表达式简洁。return Array.Empty<ReportFileResult>();:返回一个空的ReportFileResult[]数组,数组本身实现了IEnumerable<T>接口,功能上可以满足需求,但它本质是返回数组类型,作为IEnumerable<T>返回时,语法和简洁度都不如集合表达式。
总结:如果你的项目使用C# 12及以上版本,return [];是最新的最优写法;若项目基于更早的C#版本,Enumerable.Empty<ReportFileResult>()是兼容性最好的选择。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

