是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/