0
我想对数组进行排序基于检查和未选中控件状态的复选框列表选中的复选框将首先出现,未选中的复选框稍后出现在列表中。然后我将这个添加到面板。这怎么可能?如何在复选框的基础上对列表进行排序
我想对数组进行排序基于检查和未选中控件状态的复选框列表选中的复选框将首先出现,未选中的复选框稍后出现在列表中。然后我将这个添加到面板。这怎么可能?如何在复选框的基础上对列表进行排序
将复选框放入通用列表并使用其Sort
方法。
List<CheckBox> checkBoxes = GetCheckBoxes();
// Unchecked CheckBoxes first
checkBoxes.Sort((firstCheckBox, secondCheckBox) => return firstCheckBox.Checked ? +1 : -1);
// Checked CheckBoxes first
checkBoxes.Sort((firstCheckBox, secondCheckBox) => return firstCheckBox.Checked ? -1 : +1);
您可以改用复选框的泛型列表和下面一样对它进行排序:
List<CheckBox> ar;
ar.Sort(c => c.Checked);
确保初始化列表...
我觉得'复选框=>回报复选框。检查? -1:+ 1'(-1&+1错位,这将排序未选中,然后选中)问题是在未选中之前取消所有已检查的顺序。 – 2011-04-04 07:45:25
谢谢 - 编辑我的答案。 – 2011-04-04 07:48:10
我正面临此错误**错误委托'System.Comparison'不带'1'参数\t ** –
2011-04-04 08:21:35