Link to home
Start Free TrialLog in
Avatar of emi_sastra
emi_sastra

asked on

Compare Enum String

Hi,

I want to compare enum using string value.

i.e

Dim strAlpabet as string ="A"

Select  strAlpabet

      Case .... (A)
            msgbox "Order Number is 1"          

      Case .... (B)
            msgbox "Order Number is 2"          
End Select

How could I do it?

Thank you.
Public Enum Alphabet
 
        A = 1
        B = 2
        C = 3
 
    End Enum

Open in new window

Avatar of Wayne Taylor (webtubbs)
Wayne Taylor (webtubbs)
Flag of Australia image

You don't need a Select Case statement in this case. Simply parse the string...

    Dim OrderNumber As Integer = Convert.ToInt32([Enum].Parse(GetType(Alphabet), "A"))

Wayne
Avatar of emi_sastra
emi_sastra

ASKER

Hi webtubbs,

I need using select case.
Please see below code.

Thank you.
Select Case strTrsId
                Case mdlGlobalInv.FakturPenjualanTrsId.NilaiBrg, _
                     mdlGlobalInv.FakturPenjualanTrsId.BiayaAngkut, _
                     mdlGlobalInv.FakturPenjualanTrsId.NilaiDisc, _
                     mdlGlobalInv.FakturPenjualanTrsId.NilaiUangMuka
                    strFieldName = [Enum].GetName(GetType(mdlGlobalInv.FakturPenjualanTrsId), intEnumNumber) & strFieldNilaiKurs
                    strFieldNameToCheck = strFieldName
 
                Case mdlGlobalInv.FakturPenjualanTrsId.NilaiPPNRp, _
                     mdlGlobalInv.FakturPenjualanTrsId.NilaiPPhRp, _
                     mdlGlobalInv.FakturPenjualanTrsId.NilaiMaterai
                    strFieldName = [Enum].GetName(GetType(mdlGlobalInv.FakturPenjualanTrsId), intEnumNumber)
                    strFieldNameToCheck = strFieldName
 
            End Select

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Wayne Taylor (webtubbs)
Wayne Taylor (webtubbs)
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Select Case CType([Enum].Parse(GetType(Alphabet), strAlpabet), Alphabet)

What does it mean? Convert to numeric?

Thank you.
No, it converts it to the equivalent enumeration value.
Ok.

Thank you very much for your help.