Solved

Convert Enum to/from string

Posted on 2008-10-29
4
988 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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
Thats good one. I did not know that before. Thank you raterus
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
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…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

771 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

10 Experts available now in Live!

Get 1:1 Help Now