2016-06-12 100 views
0

在我的代碼,我有這樣的:我需要施放和枚舉,我該怎麼做?

 var wordForm = new WordForm() 
     { 
      WordId = word.WordId, 
      Definition = webWordForm.definition, 
      SourceId = webWordForm.sourceId, 
      StatusId = EStatus.Download, 
      PosId = WordToPosId(webWordForm.partOfSpeech) 
     }; 

我聲明瞭枚舉:

public enum EStatus { 
    NotSet = 0, 
    New  = 1, 
    Download = 2, 
    Edited = 3 
} 

和statusID:

public int StatusId { get; set; } // StatusId 

我需要施放此爲int,如果那我該怎麼做?

+0

(int)EStatus.Download或Convert.ToInt32(EStatus.Download) –

+0

什麼是WordForm.StatusId的類型? – fahadash

+0

可能重複的[從枚舉獲取int值](http://stackoverflow.com/questions/943398/get-int-value-from-enum) –

回答

2

演員的Enum作爲

StatusId = (int)EStatus.Download 
+2

而不是勺子餵養,讓她更像Enum如何int施工。枚舉基本上是int結構下的int值。等等 – fahadash

1

如果枚舉類型聲明需要一個顯式類型轉換。但對於枚舉的默認值是int

每個枚舉類型都有一個基本類型,它可以是除焦炭任何 整型。

因此,對於這樣的一個例子是:

enum Days : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; 

Days以來枚舉被聲明爲byte

int x = (int)Days.Sun; 
其分配給 int變量時,所以需要 byte顯式轉換聲明

但是,顯式強制轉換必須從枚舉類型轉換爲 整數類型。

因此,對於你的例子沒有必要投它,因爲基礎類型的枚舉是一個int

這是從文檔enum c#。 請花時間閱讀API。