Solved

# Convert Enum to/from string

Posted on 2008-10-29
993 Views
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"
``````
0
Question by:raterus
[X]
###### 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
• 2

LVL 13

Expert Comment

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

LVL 33

Accepted Solution

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

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
``````
0

LVL 13

Expert Comment

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

## Featured Post

Question has a verified solution.

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

### Suggested Solutions

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Six Sigma Control Plans
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.
###### Suggested Courses
Course of the Month6 days, 9 hours left to enroll