2011年1月3日 星期一

Enum

程式碼
Created with colorer-take5 library. Type 'vbasic'

Enum MakeOfCar
Ford
Toyota
Volvo
Peugeot
Fiat
End Enum
Private Sub ... (remainder of Sub statement omitted)
MsgBox(MakeOfCar.Volvo)
End Sub

'顯示所代表的數字
Dim myCar As MakeOfCar
myCar = MakeOfCar.Volvo
msgbox(myCar) ' Displays 2

'顯示所代表的字串
Dim myCar As MakeOfCar
myCar = MakeOfCar.Volvo
MsgBox(myCar.ToString)

'知道元素名稱想知道它所代表的數字
myCar = System.Enum.Parse(GetType(MakeOfCar), "Peugeot")
MsgBox(myCar) ' Displays 3

'知道數字想知道它所代表的元素名稱
MsgBox(System.Enum.GetName(GetType(MakeOfCar), 3))

'列出所有元素名稱
System.Enum.GetValues()

'用IsDefined()可以避免執行時的錯誤,下面給一個不��在的元素名稱Hupmobile,執行時會出現Argument Exception
Dim CarModel As String
CarModel = "Hupmobile"
MsgBox(System.Enum.Parse(GetType(MakeOfCar), CarModel))

'解決上面的問題,可以用下面的方式
Dim CarModel As String
CarModel = "Hupmobile"
If System.Enum.IsDefined(GetType(MakeOfCar), CarModel) Then
MsgBox(System.Enum.Parse(GetType(MakeOfCar), CarModel))
Else
MsgBox("Sorry, Not Defined")
End If

沒有留言: