C# LINQ是否使用底层数据结构?
举个例子,看看这里被接受的答案。现在我想知道LINQ函数(例如,C# LINQ是否使用底层数据结构?,c#,linq,optimization,C#,Linq,Optimization,举个例子,看看这里被接受的答案。现在我想知道LINQ函数(例如,Last,FirstOrDefault)是否完全幼稚,它们所做的只是枚举/检查IEnumerable,或者检查下面的数据结构(至少对于Array,List等基本集合)而且执行针对这种结构进行了优化?它们在有意义的地方执行,通常不是针对实际类型,而是针对一个接口(例如,当IList有助于加速时,它们会检查IList)为了省去您的疑惑,如果您已经阅读了接受的答案,您知道它至少有一段时间是这样做的。有时也不会。@christiandev,
Last
,FirstOrDefault
)是否完全幼稚,它们所做的只是枚举/检查IEnumerable
,或者检查下面的数据结构(至少对于Array
,List
等基本集合)而且执行针对这种结构进行了优化?它们在有意义的地方执行,通常不是针对实际类型,而是针对一个接口(例如,当IList有助于加速时,它们会检查IList)为了省去您的疑惑,如果您已经阅读了接受的答案,您知道它至少有一段时间是这样做的。有时也不会。@christiandev,谢谢你,奇怪的是,这些扩展被标记为内部
。@Henkholtman,当然我对特殊情况不感兴趣,但对一般规则感兴趣。但似乎规则是“没有规则”:-。