【发布时间】:2016-07-19 10:49:59
【问题描述】:
我有一个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),无需手动循环左右。
【问题讨论】:
-
你可以使用继承而不是
Enum,从长远来看这会给你带来好处。 -
@Callum 我看不出继承与这里有什么关系。
-
我更关注的是,他使用枚举来描述某个对象,而该对象又描述了一个现实生活领域。其中,您可以通过使用继承来描述现实生活领域来消除一些可怕的代码(例如 if、switch)。所以让管理员成为一个实际的对象(因为管理员不同于簿记员)@CodeCaster
-
@Callum 你使用继承来描述和实现行为的差异。这个问题没有提到任何这些。
-
我知道,我正在阅读超出问题@CodeCaster