Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Compare Enum String

Posted on 2009-04-10
6
300 Views
Last Modified: 2012-05-06
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

0
Comment
Question by:emi_sastra
  • 3
  • 3
6 Comments
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 24121057
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
0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24121068
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

0
 
LVL 47

Accepted Solution

by:
Wayne Taylor (webtubbs) earned 500 total points
ID: 24121082
OK, try something like this....
        Dim strAlpabet As String = "C"
        Select Case CType([Enum].Parse(GetType(Alphabet), strAlpabet), Alphabet)
            Case Alphabet.A
                MsgBox(1)
            Case Alphabet.B
                MsgBox(2)
            Case Alphabet.C
                MsgBox(3)
        End Select

Open in new window

0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 1

Author Comment

by:emi_sastra
ID: 24121090
Select Case CType([Enum].Parse(GetType(Alphabet), strAlpabet), Alphabet)

What does it mean? Convert to numeric?

Thank you.
0
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 24121096
No, it converts it to the equivalent enumeration value.
0
 
LVL 1

Author Comment

by:emi_sastra
ID: 24121134
Ok.

Thank you very much for your help.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question