2011-08-23 49 views

回答

3

枚舉可以轉換爲一個整數,你甚至不需要轉換就可以這樣做。沒有辦法自動將其轉換爲字符串。

如果你願意並行處理一個字符串數組,你可以很容易地使用你的枚舉對它進行索引;唯一的問題是,如果您在更改時不小心修改兩者,它可能會不同步。

char * SomeEnumNames[] = { "One", "Two", "Three" }; 

cout << SomeEnumNames[One] << endl; // should output "One" 
0

不,這是不可能的,你只能用類來做。你需要編寫一個函數來將枚舉值轉換爲字符串或其他。

請注意枚舉值可以明確地轉換爲int s,儘管它們自己。

0

是的,你可以投一個枚舉整數類型是這樣的:

int someInt = (int)someEnumValue; 

默認情況下,枚舉將在0開始,增量爲每個值,除非你專門設置的整數值的每個枚舉。您可以將整數值分配給枚舉,如下所示:

public enum SomeType 
{ 
    FirstValue = 1, 
    SecondValue = 3, 
    ThirdValue = 5 
} 
+0

'Enum.GetName'對我來說看起來不像C++。 –

+0

@Mark隨機:感謝您指出。看起來我誤解了標籤。其他語法會起作用嗎? –

+0

枚舉從0開始,而不是1. –

相關問題