c# - LINQ 查询的返回类型是什么?

标签 c# linq

IEnumerable<T>吗.据我所知,引用总是指向一个类实例。 LINQ 查询真正指向什么实例类型?

最佳答案

您可以调用.GetType() 查询 在你的 IEnumerable<T> 上变量并在调试器中检查类型。

对于不同的 LINQ 提供者甚至不同的 LINQ 方法,这些类型可能不同也可能不相同。

对您的代码来说重要的是它们都实现了 IEnumerable<T>你应该使用哪个,或者 IQueryable<T>它还接受表达式,这意味着您的谓词和投影将成为语法树,并且可以在运行时由 LINQ 提供程序操作,例如将被翻译成 SQL。

Actual 类,如果这是您要问的,甚至可能是编译器生成的,例如yield return表达式被翻译成这样一个类。
无论哪种方式,它们通常是内部的,您永远不应该、永远依赖它们

关于c# - LINQ 查询的返回类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262595/

相关文章:

c# - 为什么 SatisfyImportsOnce 方法不适用于对象参数?

c# - 在 Visual Studio 2012 测试资源管理器中保存结果

c# - 删除记录的重复项但保留 1(不带标识符)

c# - LINQPad - 将辅助 DataContext 记录到 "SQL"选项卡

c# - 覆盖现有图像

C# FindAll 方法 : I am struggling with the syntax

c# - Entity Framework 6.1 - 如何查询软删除记录?

c# - 动态查询 2 个实体类型并将结果映射回特定实体集

c# - Dictionary<string,string> 到 Dictionary<Control,object> 使用 IEnumerable<T>.Select()

c# - 在字符串中搜索特定值