我有一组按钮,我想将它们添加到一个数组中,以便对它们进行排序。我拥有的按钮是:
Monday0700Button
Monday0730Button
Monday0800Button
Monday0830Button
等等。
如何将一个按钮添加到一个数组中,然后对它们进行排序,以便稍后我可以使用此命令进行不同的使用。
感谢。
答案 0 :(得分:2)
听起来像SortedDictionary<string, Button>
会填补这笔费用。
SortedDictionary<string, Button> buttons
= new SortedDictionary<string, Button>();
buttons.Add(btn1.Name, btn1);
buttons.Add(btn2.Name, btn2);
foreach (string name in buttons.Keys)
{
Button b = buttons[name];
// iterates in name order
}
根据您选择的排序方式更改您使用的密钥。
答案 1 :(得分:1)
您可以将它们全部放在列表中,然后按ID排序:
List<Button> buttonList = new List<Button>();
buttonList.Add(Monday0700Button);
buttonList.Add(Monday0730Button);
buttonList.Add(Monday0800Button);
buttonList.Add(Monday0830Button);
buttonList.Sort((l,r) => l.ID.CompareTo(r.ID));
答案 2 :(得分:0)
SortedList<TKey, TValue>
应该做到这一点。其中TKey是您要订购的按钮的属性,TValue是您的按钮类型。
答案 3 :(得分:0)
您只需创建一个有序的按钮集合,例如:
List<Button> lst
如果添加这些元素的顺序不是您想要的顺序,则可以使用方法Sort()。
如果您想保留与按钮相关的其他信息,请使用其Tag属性并在排序时使用它。
答案 4 :(得分:0)
您可以使用现有按钮创建一个数组。
var array = new[] {Monday0700Button,Monday0730Button,Monday0800Button,Monday0830Button};
答案 5 :(得分:0)
您如何定义订单?如果您的订单是由“设置数组的顺序”定义的,那么数组(或列表)就足够了。
如果你想要一个不同于你开始的顺序,那么你可以看看排序。