当前位置:  开发笔记 > 编程语言 > 正文

Linq获取所有控件(已订购)

如何解决《Linq获取所有控件(已订购)》经验,为你挑选了1个好方法。

有没有办法使用linq获取所有控件.

我想做的是这样的事情(按标签索引命令控制):

foreach (Control control in this.Controls.OrderBy(c => c.TabIndex)
{
    ...
}

当我得到List <...>时,我使用那种查询

我使用c#和.Net 3.5



1> Jon Skeet..:

ControlCollection只实现IEnumerable,而不是IEnumerable.这很容易修复 - 添加一个电话Cast():

foreach (Control control in Controls.Cast()
                                    .OrderBy(c => c.TabIndex))
{
}

或者您可以使用查询表达式,它将Cast()在必要时调用:

var controls = from Control c in Controls
               orderby c.TabIndex
               select c;

foreach (Control control in controls)
{
}

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有