Dan*_*mov 15
你可以通过调用它找出来.GetType()你的IEnumerable<T>变量,并检查在调试器的类型.
对于不同的LINQ提供者甚至不同的LINQ方法,这些类型可能会也可能不会有所不同.
对您的代码而言重要的是它们都实现IEnumerable<T>了您应该使用的,或者IQueryable<T>也接受表达式,这意味着您的谓词和预测将成为语法树,并且可以在运行时由LINQ提供程序操作,例如转换为SQL.
实际的类,如果这是您所询问的,甚至可能是编译器生成的,例如yield return表达式被转换为这样的类.
无论哪种方式,他们通常是内部的,你应该永远,永远依赖他们.
dev*_*vio 10
根据您的原始数据源,它是IEnumerable或IQueryable:
Linq数据库查询的结果通常是IQueryable <T>,它是从IEnumerable <T>,IQueryable和IEnumerable派生的.
如果数据库查询包含OrderBy子句,则类型为IOrderedQueryable <T>,派生自IQueryable <T>
如果您的数据源是IEnumerable,则结果类型为IEnumerable <T>