1
enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
如何遍歷這個枚舉從沒有給所有值向西如何遍歷這個枚舉給出了無所有值向西
enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
如何遍歷這個枚舉從沒有給所有值向西如何遍歷這個枚舉給出了無所有值向西
Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
注意0是一個更傳統值爲None
,因爲它將是Orientation
類型的任何實例/靜態字段的默認值,以及數組中的初始值等。
編輯:Enum.GetValues
被記錄爲返回值「按枚舉常量的二進制值排序」 - 我相信它將它們視爲無符號值。
有一個簡單的答案,幸運的:
Orientation[] orientations = (Orientation[]) Enum.GetValues(typeof(Orientation));
Array.Sort(orientations);
感謝喬恩:)雅您的建議是正確的zero.But並初始化枚舉默認值,這是在我的project.my概率的要求是Enum.GetValues (typeof(enumName))返回數組,其中North處於第零位置,East處於第一個南部處於第二處,並且西部處於第三處,並且沒有處於最後。但是我希望None的值-1處於第零位置處。 – 2010-10-30 19:44:34
@kk_guarav:這實際上是*因爲*你得到None作爲-1而不是0 :)'Enum.GetValues'以*二進制順序返回值 - - 它聽起來像是它們的值是無符號的。將編輯我的答案。 – 2010-10-30 19:57:55
感謝Jon Array.Sort(方向)它正常工作 :) – 2010-11-09 06:28:42