将所选控件保存在列表中,然后进行比较

时间:2014-09-05 07:58:09

标签: c# visual-studio

我想在列表中保存一些选定的控件然后进行比较,我只能选择两个,所以没关系。

每个控件都有一个布尔属性Selected,我需要:Selected == True

如何创建一个返回Selected控件的方法?

类似的东西:

    foreach (Control c in Controls)
            {
                if (  this.Selected == true )

                   {
                       // how to add to a list
                   }

            }

1 个答案:

答案 0 :(得分:0)

使用LINQ您可以在一行中执行此操作,这会将所有选定的控件放入列表并返回:

return Controls.Where(c => c.Selected).ToList();

如果您想使用foreach,只需创建一个列表来存储控件并使用选定的控件填充列表:

var selectedControls = new List<Control>();
foreach(var c in Controls)
{
    if(c.Selected) selectedControls.Add(c);
}

return selectedControls;