Enum.Parse Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| Parse<TEnum>(String) |
Converteert de tekenreeksweergave van de naam of numerieke waarde van een of meer geïnventareerde constanten die zijn opgegeven door |
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
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
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.