如何使用Linq过滤Application.OpenForms集合?

时间:2014-09-10 12:53:54

标签: c# linq

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

1 个答案:

答案 0 :(得分:5)

您必须投放它,因为FormCollection未实现IEnumerable<T>但仅IEnumerable

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

但是,Form没有AllKeys属性。你是否混淆了网络形式和winforms?在前者中没有Application.OpenForms