以下代码总是按enum
的值排序,但我想按位置排列在enum
之间。您注意到Matchup
在enum
中排名第三,但值为6.它总是作为列表中的最后一次出现在迭代中。在枚举中创建枚举列表,并且不包含值
foreach (var enumName in Enum.GetValues(enumType).Cast<TEnum>())
{
}
public enum RestrictionDetailType
{
[EnumMember(Value = "0"), Display(Name = "None")]
None = 0,
[EnumMember(Value = "1"), Display(Name = "Team")]
Team = 1,
[EnumMember(Value = "6"), Display(Name = "Matchup")]
Matchup = 6,
[EnumMember(Value = "2"), Display(Name = "Date/Time")]
DateTime = 2,
[EnumMember(Value = "3"), Display(Name = "Venue")]
VenueCourt = 3,
[EnumMember(Value = "4"), Display(Name = "Games")]
Games = 4,
[EnumMember(Value = "5"), Display(Name = "Exhibition")]
Exhibition = 5
}
你可以做任何顺序它们的数组列表,你想和使用相反。 – juharr
或者,在枚举中创建一个新的属性来存储显示顺序和顺序。 –
@DiskJunky - 呃? ['GetValues()'](https://msdn.microsoft.com/en-us/library/system.enum.getvalues(v = vs.110).aspx)被记录为返回它们的顺序“由其无符号的大小“ –