【问题标题】:Of what type is the result of a LINQ query?LINQ 查询的结果是什么类型的?
【发布时间】:2013-10-30 18:42:39
【问题描述】:

LINQ 上的示例给出了这个

var query = context.Contacts
    .Where(q => q.FirstName == "Tom");

我想知道“查询”是什么对象?还有可能(建议)将它传递给一个方法(在同一个类中)吗?

【问题讨论】:

    标签: c# linq objectquery


    【解决方案1】:

    query 对象很可能是IQueryable<Contact> 类型。你当然可以将它传递给一个方法,不管是在同一个类中还是在另一个类中。

    但请记住,LINQ 确实使用了一种名为“延迟执行”的机制。这意味着查询不会立即枚举,而是在需要时枚举。然后执行您在查询中输入的所有内容(例如 Where-clause)。有关延迟执行的更多信息,请查看MSDN: Query Execution

    注意:如果您将鼠标悬停在 query 变量或 Visual Studio 中的 var 关键字上,您可以找到它的确切类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2020-05-15
      • 1970-01-01
      • 2022-07-22
      相关资源
      最近更新 更多