2010-10-28 35 views

回答

2

使用Enum.GetValues

Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation)); 

注意0是一個更傳統值爲None,因爲它將是Orientation類型的任何實例/靜態字段的默認值,以及數組中的初始值等。

編輯:Enum.GetValues被記錄爲返回值「按枚舉常量的二進制值排序」 - 我相信它將它們視爲無符號值。

有一個簡單的答案,幸運的:

Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation)); 
Array.Sort(orientations); 
+0

感謝喬恩:)雅您的建議是正確的zero.But並初始化枚舉默認值,這是在我的project.my概率的要求是Enum.GetValues (typeof(enumName))返回數組,其中North處於第零位置,East處於第一個南部處於第二處,並且西部處於第三處,並且沒有處於最後。但是我希望None的值-1處於第零位置處。 – 2010-10-30 19:44:34

+0

@kk_guarav:這實際上是*因爲*你得到None作爲-1而不是0 :)'Enum.GetValues'以*二進制順序返回值 - - 它聽起來像是它們的值是無符號的。將編輯我的答案。 – 2010-10-30 19:57:55

+0

感謝Jon Array.Sort(方向)它正常工作 :) – 2010-11-09 06:28:42