vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings   |   VB-Versionen: VB2005, VB200807.05.08
Enum-Wert aus String (Zeichenketten) ermitteln

Mit der Parse-Methode lässt sich ein String (Zeichenkette) sehr einfach in den äquivalenten Enum-Wert einer Auflistung konvertieren.

Autor:   Dieter OtterBewertung:  Views:  24.799 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Hatten Sie nicht auch schon einmal das Problem, den Enum-Wert einer Auflistung anhand eines Strings (Zeichenkette) ermitteln zu müssen?

Beispiel:

' Enum-Auflistung
Private Enum Wochentag
  Sonntag = 0
  Montag
  Dienstag
  Mittwoch
  Donnerstag
  Freitag
  Samstag
End Enum

Anhand eines Strings mit der Enum-Zeichenfolge (bspw. "Donnerstag") soll jetzt der dazugehörige Wert aus der Enum-Auflistung "Wochentag" ermittelt werden.

Eine Möglichkeit wäre jetzt, anhand einer "Select Case"-Abfrage den Wert zu ermitteln:

Dim sWochentag As String = "Donnerstag"
Dim nWochentag As Wochentag
 
Select Case sWochentag
  Case "Sonntag"
    nWochentag = Wochentag.Sonntag
  Case "Montag"
    nWochentag = Wochentag.Montag
  Case "Dienstag"
    nWochentag = Wochentag.Dienstag
  Case "Mittwoch"
    nWochentag = Wochentag.Mittwoch
  Case "Donnerstag"
    nWochentag = Wochentag.Donnerstag
  Case "Freitag"
    nWochentag = Wochentag.Freitag
  Case "Samstag"
    nWochentag = Wochentag.Samstag
End Select

Die Variable "nWochentag" hätte nach Abarbeitung der Select-Case Abfrage jetzt den Wert 4 (Wochentag.Donnerstag)

Dieser Code ist jedoch nicht gerade effizient und auch den entscheidenden Nachteil, dass man diesen wieder anpassen muss, wenn sich die Enum-Auflistung ändert oder erweitert wird.

Mit der Parse-Methode des System.Enum-Klasse geht das ganze jedoch viel einfacher!

Dim sWochentag As String = "Donnerstag"
Dim nWochentag As Wochentag
nWochentag = CType(System.Enum.Parse(nWochentag.GetType(), sWochentag), Wochentag)



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.