按字母順序排序typeof(EnumType)的有效方法是什麼?排序後檢索索引值Enum按字母順序排列
枚舉值的索引是非順序的,但按字母順序排序。 (即蘋果= 5,香蕉= 2,哈密瓜= 3)
實例化臨時是好的。
最終,我需要所選特定枚舉值的索引代碼。
我問,因爲我想出了這個方法看起來不是最好的:
Array tmp = Enum.GetValues(typeof(EnumType));
string[] myenum = tmp.OfType<object>().Select(o => o.ToString()).ToArray();
Array.Sort(myenum);
int enum_code = (int)Enum.Parse(typeof(EnumType), myenum.GetValue((int)selected_index).ToString());
string final_code = enum_code.ToString());
您可以通過使用OrderBy(o => o.ToString())來簡化第2行和第3行。但是,我並不是100%清楚你在這裏試圖達到什麼目標。 – yoozer8 2013-02-15 17:43:11
由於所選索引不直接映射創建的Array tmp的索引值。 (選定的索引是基於字母順序,而tmp創建一個數組與索引順序,增量,我需要訴諸,然後檢索使用selected_index變量.. – 2013-02-15 21:31:27