我有enum
:
public enum Group
{
Administration = 1,
Lawyers,
PropertyManagement
Bookkeeping,
Secretariat
}
我还有List
Group
:List<Group>
。我需要一种简单的方法来通过枚举索引对列表的值进行排序。
所以,例如,这个列表:
{ Group.Bookkeeping, Group.Administration, Group.Secretariat, Group.Administration }
将成为:
{ Group.Administration, Group.Administration, Group.Bookkeeping, Group.Secretariat }
(管理第一,簿记第二,秘书处最后,像枚举的定义)。我正在寻找一种简单的方法(可能使用linq
),而不需要手动循环。
答案 0 :(得分:4)
Array.Sort()
使用基础类型来比较元素:
List<Group> groups = new List<Group>()
{
Group.Bookkeeping, Group.Administration, Group.Secretariat, Group.Administration
};
groups.Sort();
答案 1 :(得分:0)
枚举基本上是一个整数类型,其成员从0开始编号,默认递增1。鉴于您提供了一个起始索引,即Administration = 1
,您的枚举编号如下:
Administration = 1
Lawyers = 2
PropertyManagement = 3
Bookkeeping = 4
Secretariat = 5
因此,您可以使用集合的默认排序进行排序,如Sorting a List<int>中所述。
答案 2 :(得分:0)
您可以使用Linqs DoubleProperty propertyToShow = ...
Label label = new Label();
label.textProperty().bind(propertyToShow.asString());
:
import os
def size():
d_path = '/home/Jake/Documents/sizes'
x = []
p=[]
for i in range(0,84):
x.append('size_{:02}'.format(i))
p.append(os.path.join(d_path,x[i]))
return p
print size()