Solved

Convert Enum to/from string

Posted on 2008-10-29
4
989 Views
Last Modified: 2010-05-25
I need to be able to do two things, convert a string value to the enum integer
an
convert an integer to the enum string value

e.g.


Public Enum MyEnum

  A = 1

  B = 2

  C = 3

  D = 4

  E = 5

  F = 6

End Enum

 

Dim columnInt as integer = ConvertToInteger("B") 'returns 2

Dim columnStr as string = ConvertToString(2+3) 'returns "E"

Open in new window

0
Comment
Question by:raterus
  • 2
4 Comments
 
LVL 13

Expert Comment

by:TechTiger007
ID: 22831870
You will have to write switch case statement inside the functions to return appropriate values
0
 
LVL 33

Accepted Solution

by:
raterus earned 0 total points
ID: 22831907
I figured it out,

'To String
[Enum].Getname(GetType(MyEnum), 3)

'From String to Enum
[Enum].Parse(gettype(MyEnum), "C")
0
 
LVL 16

Expert Comment

by:HooKooDooKu
ID: 22832002
Write the code for ConvertToInteger and ConvertToString with Select Case

However, the thing I usually like to do is define the functions to convert ENum to String and String to Enum and forget about the actual underlaying values.


Public Enum MyEnum

  MyEnum_Invalid = 0

  A = 1

  B = 2

  C = 3

  D = 4

  E = 5

  F = 6

End Enum
 

Public Function MyEnumToString( Value as MyEnum ) as String

    Select Case Value

        Case A: MyEnumToString = "A"

        Case B: MyEnumToString = "B"

        Case C: MyEnumToString = "C"

        Case D: MyEnumToString = "D"

        Case E: MyEnumToString = "E"

        Case F: MyEnumToString = "F"

        Case Else: MyEnumToString = ""

    End Select

End Function
 

Public Function StringToMyEnum( Value as String ) as MyEnum

    Select Case Value

        Case "A": StringToMyEnum = A

        Case "B": StringToMyEnum = B

        Case "C": StringToMyEnum = C

        Case "D": StringToMyEnum = D

        Case "E": StringToMyEnum = E

        Case "F": StringToMyEnum = F

        Case Else: StringToMyEnum = MyEnum_Invalid

    End Select

End Function
 

*** If you want to stick with Integers and Strings, then try this ***
 

Public Function ConvertToInteger( Value as string ) as Integer

    Select Case Left( Value,1 )

        Case "A": ConvertToInteger = 1

        Case "B": ConvertToInteger = 2

        Case "C": ConvertToInteger = 3

        Case "D": ConvertToInteger = 4

        Case "E": ConvertToInteger = 5

        Case "F": ConvertToInteger = 6

        Case Default: ConvertToInteger = 0

    End Select

End Function

 

Public Function ConvertToString( Value as Integer ) as String

    Select Case Value

        Case 1: ConvertToString = "A"

        Case 2: ConvertToString = "B"

        Case 3: ConvertToString = "C"

        Case 4: ConvertToString = "D"

        Case 5: ConvertToString = "D"

        Case 6: ConvertToString = "F"

        Case Default: ConvertToString = ""

    End Select

End Function

Open in new window

0
 
LVL 13

Expert Comment

by:TechTiger007
ID: 22832024
Thats good one. I did not know that before. Thank you raterus
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.
I designed this idea while studying technology in the classroom.  This is a semester long project.  Students are asked to take photographs on a specific topic which they find meaningful, it can be a place or situation such as travel or homelessness.…

948 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now