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