Enum.Parse Methode

Definitie

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten naar een equivalent geïnventariseerd object.

Overloads

Name Description
Parse(Type, String)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten naar een equivalent geïnventariseerd object.

Parse(Type, String, Boolean)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten naar een equivalent geïnventariseerd object. Een parameter geeft aan of de bewerking niet hoofdlettergevoelig is.

Parse<TEnum>(String, Boolean)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten die zijn opgegeven door TEnum een equivalent geïnventariseerd object. Een parameter geeft aan of de bewerking niet hoofdlettergevoelig is.

Parse<TEnum>(String)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten die zijn opgegeven door TEnum een equivalent geïnventariseerd object.

Parse(Type, String)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten naar een equivalent geïnventariseerd object.

public:
 static System::Object ^ Parse(Type ^ enumType, System::String ^ value);
public static object Parse(Type enumType, string value);
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse(Type enumType, string value);
static member Parse : Type * string -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Parse : Type * string -> obj
Public Shared Function Parse (enumType As Type, value As String) As Object

Parameters

enumType
Type

Een opsommingstype.

value
String

Een tekenreeks met de naam of waarde die moet worden geconverteerd.

Retouren

Een object van het type enumType waarvan de waarde wordt vertegenwoordigd door value.

Kenmerken

Uitzonderingen

enumType of value is null.

enumType is geen Enum.

– of –

value is een lege tekenreeks of bevat alleen witruimte.

– of –

value is een naam, maar niet een van de benoemde constanten die zijn gedefinieerd voor de opsomming.

value valt buiten het bereik van het onderliggende type enumType.

.NET 8 en hoger: enumType is een opsommingstype met booleaanse ondersteuning.

Voorbeelden

In het volgende voorbeeld wordt de Parse(Type, String) methode gebruikt om een matrix met tekenreeksen te parseren die zijn gemaakt door de methode aan te GetNames roepen. Ook wordt de Parse(Type, String) methode gebruikt om een opsommingswaarde te parseren die uit een bitveld bestaat.

using System;

public class ParseTest
{
    [Flags]
    enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };

    public static void Main()
    {
        Console.WriteLine("The entries of the Colors enumeration are:");
        foreach (string colorName in Enum.GetNames(typeof(Colors)))
        {
            Console.WriteLine("{0} = {1:D}", colorName,
                                         Enum.Parse(typeof(Colors), colorName));
        }
        Console.WriteLine();

        Colors orange = (Colors) Enum.Parse(typeof(Colors), "Red, Yellow");
        Console.WriteLine("The orange value {0:D} has the combined entries of {0}",
                           orange);
    }
}

/*
This code example produces the following results:

The entries of the Colors Enum are:
Red = 1
Green = 2
Blue = 4
Yellow = 8

The orange value 9 has the combined entries of Red, Yellow

*/
open System

[<Flags>]
type Colors =
    | Red = 1
    | Green = 2
    | Blue = 4
    | Yellow = 8

printfn "The entries of the Colors enumeration are:"
for colorName in Enum.GetNames typeof<Colors> do
    printfn $"{colorName} = {Enum.Parse(typeof<Colors>, colorName):D}"
printfn ""

let orange = Enum.Parse(typeof<Colors>, "Red, Yellow") :?> Colors
printfn $"The orange value {orange:D} has the combined entries of {orange}"

// This code example produces the following results:
//     The entries of the Colors Enum are:
//     Red = 1
//     Green = 2
//     Blue = 4
//     Yellow = 8
//    
//     The orange value 9 has the combined entries of Red, Yellow
Public Class ParseTest

    <Flags()> _
    Enum Colors
        Red = 1
        Green = 2
        Blue = 4
        Yellow = 8
    End Enum

    Public Shared Sub Main()
        Console.WriteLine("The entries of the Colors enumeration are:")
        Dim colorName As String
        For Each colorName In [Enum].GetNames(GetType(Colors))
            Console.WriteLine("{0} = {1:D}", colorName, [Enum].Parse(GetType(Colors), colorName))
        Next
        Console.WriteLine()

        Dim orange As Colors = CType([Enum].Parse(GetType(Colors), "Red, Yellow"), Colors)
        Console.WriteLine("The orange value {0:D} has the combined entries of {0}", orange)
    End Sub
End Class

'This example displays the following output:
'
'The entries of the Colors Enum are:
'Red = 1
'Green = 2
'Blue = 4
'Yellow = 8
'
'The myOrange value 9 has the combined entries of Red, Yellow
'

Opmerkingen

De value parameter bevat de tekenreeksweergave van de onderliggende waarde van een opsommingslid of benoemde constante, of een lijst met benoemde constanten gescheiden door komma's (,). Een of meer spaties kunnen voorafgaan aan of volgen op elke waarde, naam of komma in value. Als value dit een lijst is, is de retourwaarde de waarde van de opgegeven namen in combinatie met een bitsgewijze OR bewerking.

Als value dit een naam is die niet overeenkomt met een benoemde constante van enumType, genereert de methode een ArgumentException. Als value dit de tekenreeksweergave is van een geheel getal dat geen onderliggende waarde van de enumType opsomming vertegenwoordigt, retourneert de methode een opsommingslid waarvan de onderliggende waarde wordt value geconverteerd naar een integraal type. Als dit gedrag ongewenst is, roept u de IsDefined methode aan om ervoor te zorgen dat een bepaalde tekenreeksweergave van een geheel getal daadwerkelijk lid is van enumType. In het volgende voorbeeld wordt een Colors opsomming gedefinieerd, wordt de Parse(Type, String) methode aangeroepen om tekenreeksen te converteren naar de bijbehorende opsommingswaarden en wordt de IsDefined methode aangeroepen om ervoor te zorgen dat bepaalde integrale waarden onderliggende waarden zijn in de Colors opsomming.

using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
   public static void Main()
   {
      string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
      foreach (string colorString in colorStrings)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString);
            if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
            else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
         }
         catch (ArgumentException) {
            Console.WriteLine("'{0}' is not a member of the Colors enumeration.", colorString);
         }
      }
   }
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       'blue' is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       'Yellow' is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
open System

[<Flags>]
type Colors =
    | None = 0
    | Red = 1
    | Green = 2
    | Blue = 4

let colorStrings = [ "0"; "2"; "8"; "blue"; "Blue"; "Yellow"; "Red, Green" ]
for colorString in colorStrings do
    try
        let colorValue = Enum.Parse(typeof<Colors>, colorString) :?> Colors
        if Enum.IsDefined(typeof<Colors>, colorValue) || (string colorValue).Contains "," then
            printfn $"Converted '{colorString}' to {colorValue}."
        else
            printfn $"{colorString} is not an underlying value of the Colors enumeration."
    with :? ArgumentException ->
        printfn $"'{colorString}' is not a member of the Colors enumeration."
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       'blue' is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       'Yellow' is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
<Flags> Enum Colors As Integer
   None = 0
   Red = 1
   Green = 2
   Blue = 4
End Enum

Module Example
   Public Sub Main()
      Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
      For Each colorString As String In colorStrings
         Try
            Dim colorValue As Colors = CType([Enum].Parse(GetType(Colors), colorString), Colors)        
            If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then 
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
            Else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)            
            End If                    
         Catch e As ArgumentException
            Console.WriteLine("'{0}' is not a member of the Colors enumeration.", colorString)
         End Try
      Next
   End Sub
End Module
' The example displays the following output:
'       Converted '0' to None.
'       Converted '2' to Green.
'       8 is not an underlying value of the Colors enumeration.
'       'blue' is not a member of the Colors enumeration.
'       Converted 'Blue' to Blue.
'       'Yellow' is not a member of the Colors enumeration.
'       Converted 'Red, Green' to Red, Green.

Deze bewerking is hoofdlettergevoelig.

Zie ook

Van toepassing op

Parse(Type, String, Boolean)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten naar een equivalent geïnventariseerd object. Een parameter geeft aan of de bewerking niet hoofdlettergevoelig is.

public:
 static System::Object ^ Parse(Type ^ enumType, System::String ^ value, bool ignoreCase);
public static object Parse(Type enumType, string value, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse(Type enumType, string value, bool ignoreCase);
static member Parse : Type * string * bool -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Parse : Type * string * bool -> obj
Public Shared Function Parse (enumType As Type, value As String, ignoreCase As Boolean) As Object

Parameters

enumType
Type

Een opsommingstype.

value
String

Een tekenreeks met de naam of waarde die moet worden geconverteerd.

ignoreCase
Boolean

true om case te negeren; false rekening houdend met de zaak.

Retouren

Een object van het type enumType waarvan de waarde wordt vertegenwoordigd door value.

Kenmerken

Uitzonderingen

enumType of value is null.

enumType is geen Enum.

– of –

value is een lege tekenreeks ("") of bevat alleen witruimte.

– of –

value is een naam, maar niet een van de benoemde constanten die zijn gedefinieerd voor de opsomming.

value valt buiten het bereik van het onderliggende type enumType.

.NET 8 en hoger: enumType is een opsommingstype met booleaanse ondersteuning.

Voorbeelden

In het volgende voorbeeld wordt de Parse(Type, String, Boolean) methode gebruikt om een matrix met tekenreeksen te parseren die zijn gemaakt door de methode aan te GetNames roepen. Ook wordt de Parse(Type, String) methode gebruikt om een opsommingswaarde te parseren die uit een bitveld bestaat.

using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
   public static void Main()
   {
      string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
      foreach (string colorString in colorStrings)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString, true);
            if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
            else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
         }
         catch (ArgumentException) {
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
         }
      }
   }
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
open System

[<Flags>]
type Colors =
    | None = 0
    | Red = 1
    | Green = 2
    | Blue = 4

let colorStrings = [ "0"; "2"; "8"; "blue"; "Blue"; "Yellow"; "Red, Green" ]
for colorString in colorStrings do
    try
        let colorValue = Enum.Parse(typeof<Colors>, colorString, true) :?> Colors
        if Enum.IsDefined(typeof<Colors>, colorValue) || (string colorValue).Contains "," then
            printfn $"Converted '{colorString}' to {colorValue}."
        else
            printfn $"{colorString} is not an underlying value of the Colors enumeration."
    with :? ArgumentException ->
        printfn $"{colorString} is not a member of the Colors enumeration."

// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
<Flags> Enum Colors As Integer
   None = 0
   Red = 1
   Green = 2
   Blue = 4
End Enum

Module Example
   Public Sub Main()
      Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
      For Each colorString As String In colorStrings
         Try
            Dim colorValue As Colors = CType([Enum].Parse(GetType(Colors), colorString, True), Colors)        
            If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then 
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
            Else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)            
            End If                    
         Catch e As ArgumentException
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
         End Try
      Next
   End Sub
End Module
' The example displays the following output:
'       Converted '0' to None.
'       Converted '2' to Green.
'       8 is not an underlying value of the Colors enumeration.
'       Converted 'blue' to Blue.
'       Converted 'Blue' to Blue.
'       Yellow is not a member of the Colors enumeration.
'       Converted 'Red, Green' to Red, Green.

Opmerkingen

De value parameter bevat de tekenreeksweergave van de onderliggende waarde van een opsommingslid of benoemde constante, of een lijst met benoemde constanten gescheiden door komma's (,). Een of meer spaties kunnen voorafgaan aan of volgen op elke waarde, naam of komma in value. Als value dit een lijst is, is de retourwaarde de waarde van de opgegeven namen in combinatie met een bitsgewijze OR bewerking.

Als value dit een naam is die niet overeenkomt met een benoemde constante van enumType, genereert de methode een ArgumentException. Als value dit de tekenreeksweergave is van een geheel getal dat geen onderliggende waarde van de enumType opsomming vertegenwoordigt, retourneert de methode een opsommingslid waarvan de onderliggende waarde wordt value geconverteerd naar een integraal type. Als dit gedrag ongewenst is, roept u de IsDefined methode aan om ervoor te zorgen dat een bepaalde tekenreeksweergave van een geheel getal daadwerkelijk lid is van enumType. In het volgende voorbeeld wordt een Colors opsomming gedefinieerd, wordt de Parse(Type, String, Boolean) methode aangeroepen om tekenreeksen te converteren naar de bijbehorende opsommingswaarden en wordt de IsDefined methode aangeroepen om ervoor te zorgen dat bepaalde integrale waarden onderliggende waarden zijn in de Colors opsomming.

De ignoreCase parameter geeft aan of deze bewerking hoofdlettergevoelig is.

Zie ook

Van toepassing op

Parse<TEnum>(String, Boolean)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten die zijn opgegeven door TEnum een equivalent geïnventariseerd object. Een parameter geeft aan of de bewerking niet hoofdlettergevoelig is.

public:
generic <typename TEnum>
 where TEnum : value class static TEnum Parse(System::String ^ value, bool ignoreCase);
public static TEnum Parse<TEnum>(string value, bool ignoreCase) where TEnum : struct;
static member Parse : string * bool -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As String, ignoreCase As Boolean) As TEnum

Type parameters

TEnum

Een opsommingstype.

Parameters

value
String

Een tekenreeks met de naam of waarde die moet worden geconverteerd.

ignoreCase
Boolean

true om case te negeren; false rekening houdend met de zaak.

Retouren

TEnum

Een object van het type TEnum waarvan de waarde wordt vertegenwoordigd door value.

Uitzonderingen

TEnum is geen Enum type.

value is null.

value bevat geen opsommingsgegevens.

.NET 8 en hoger: TEnum is een opsommingstype met booleaanse ondersteuning.

Van toepassing op

Parse<TEnum>(String)

Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten die zijn opgegeven door TEnum een equivalent geïnventariseerd object.

public:
generic <typename TEnum>
 where TEnum : value class static TEnum Parse(System::String ^ value);
public static TEnum Parse<TEnum>(string value) where TEnum : struct;
static member Parse : string -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As String) As TEnum

Type parameters

TEnum

Een opsommingstype.

Parameters

value
String

Een tekenreeks met de naam of waarde die moet worden geconverteerd.

Retouren

TEnum

Een object van het type TEnum waarvan de waarde wordt vertegenwoordigd door value.

Uitzonderingen

TEnum is geen Enum type.

value is null.

value bevat geen opsommingsgegevens.

.NET 8 en hoger: TEnum is een opsommingstype met booleaanse ondersteuning.

Van toepassing op