【问题标题】:How to filter the Application.OpenForms collection with Linq?如何使用 Linq 过滤 Application.OpenForms 集合?
【发布时间】:2014-09-10 12:53:53
【问题描述】:

我想使用Where 使用 Linq 过滤 Application.OpenForms 集合,并且此站点上的几个问题 [1] [2] [3] 建议我只需要访问它AllKeys 财产。但是,即使我创建了一个新的 Windows 窗体应用程序,该集合似乎根本没有此属性,并且在我尝试使用它时也无法编译。可能是什么原因?

【问题讨论】:

  • Application.OpenForms.Cast<Form>().Where(x=> ... );

标签: c# linq


【解决方案1】:

因为FormCollection 没有实现IEnumerable<T> 而只有IEnumerable,所以你必须强制转换它:

var query = Application.OpenForms.Cast<Form>()
    .Where(form => ...);

但是,Form 没有 AllKeys 属性。您是否混淆了 webforms 和 winforms?前者没有Application.OpenForms

【讨论】:

  • 可能是我混淆了两者。不管怎样,你提供的代码正是我需要的!
猜你喜欢
  • 2012-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-26
  • 2011-04-21
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多