我想在列表中保存一些选定的控件然后进行比较,我只能选择两个,所以没关系。
每个控件都有一个布尔属性Selected,我需要:Selected == True
。
如何创建一个返回Selected控件的方法?
类似的东西:
foreach (Control c in Controls)
{
if ( this.Selected == true )
{
// how to add to a list
}
}
答案 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;