如何使用Linq筛选Application.OpenForms集合

本文关键字:OpenForms 集合 Application 筛选 何使用 Linq | 更新日期: 2023-09-27 18:21:26

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

如何使用Linq筛选Application.OpenForms集合

您必须强制转换它,因为FormCollection不实现IEnumerable<T>,而只实现IEnumerable:

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

但是,Form没有AllKeys属性。你混淆了webforms和winforms吗?在前者中没有CCD_ 9。