Enum.Parse Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt.
Överlagringar
| Name | Description |
|---|---|
| Parse(Type, ReadOnlySpan<Char>) |
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt. |
| Parse(Type, String) |
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt. |
| Parse(Type, ReadOnlySpan<Char>, Boolean) |
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt. En parameter anger om åtgärden är skiftlägeskänslig. |
| Parse(Type, String, Boolean) |
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt. En parameter anger om åtgärden är skiftlägeskänslig. |
| Parse<TEnum>(String, Boolean) |
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av |
| Parse<TEnum>(ReadOnlySpan<Char>, Boolean) |
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av |
| Parse<TEnum>(ReadOnlySpan<Char>) |
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av |
| Parse<TEnum>(String) |
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av |
Parse(Type, ReadOnlySpan<Char>)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt.
public:
static System::Object ^ Parse(Type ^ enumType, ReadOnlySpan<char> value);
public static object Parse(Type enumType, ReadOnlySpan<char> value);
static member Parse : Type * ReadOnlySpan<char> -> obj
Public Shared Function Parse (enumType As Type, value As ReadOnlySpan(Of Char)) As Object
Parametrar
- enumType
- Type
En uppräkningstyp.
- value
- ReadOnlySpan<Char>
Ett intervall som innehåller namnet eller värdet som ska konverteras.
Returer
Ett objekt av typen enumType vars värde representeras av value.
Undantag
enumType är null.
enumType är inte en Enum.
value är antingen en tom sträng eller bara innehåller tomt utrymme.
value är ett namn, men inte en av de namngivna konstanterna som definierats för uppräkningen.
value ligger utanför intervallet för den underliggande typen av enumType.
.NET 8 och senare versioner: enumType är en boolesk uppräkningstyp.
Gäller för
Parse(Type, String)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt.
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
Parametrar
- enumType
- Type
En uppräkningstyp.
- value
- String
En sträng som innehåller namnet eller värdet som ska konverteras.
Returer
Ett objekt av typen enumType vars värde representeras av value.
- Attribut
Undantag
enumType eller value är null.
enumType är inte en Enum.
-eller-
value är antingen en tom sträng eller bara innehåller tomt utrymme.
-eller-
value är ett namn, men inte en av de namngivna konstanterna som definierats för uppräkningen.
value ligger utanför intervallet för den underliggande typen av enumType.
.NET 8 och senare versioner: enumType är en boolesk uppräkningstyp.
Exempel
I följande exempel används Parse(Type, String) metoden för att parsa en matris med strängar som skapas genom att anropa GetNames metoden. Den använder Parse(Type, String) också metoden för att parsa ett uppräkningsvärde som består av ett bitfält.
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
'
Kommentarer
Parametern value innehåller strängrepresentationen av en uppräkningsmedlems underliggande värde eller namngivna konstant, eller en lista över namngivna konstanter avgränsade med kommatecken (,). Ett eller flera tomma blanksteg kan föregå eller följa varje värde, namn eller kommatecken i value. Om value är en lista är returvärdet värdet för de angivna namnen i kombination med en bitvis OR åtgärd.
Om value är ett namn som inte motsvarar en namngiven konstant av enumTypegenererar metoden en ArgumentException. Om value är strängrepresentationen av ett heltal som inte representerar ett underliggande värde för enumType uppräkningen, returnerar metoden en uppräkningsmedlem vars underliggande värde value konverteras till en integraltyp. Om det här beteendet är oönskat anropar IsDefined du metoden för att säkerställa att en viss strängrepresentation av ett heltal faktiskt är medlem i enumType. I följande exempel definieras en Colors uppräkning, metoden anropas Parse(Type, String) för att konvertera strängar till motsvarande uppräkningsvärden och anropar IsDefined metoden för att säkerställa att vissa integralvärden är underliggande värden i Colors uppräkningen.
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.
Den här åtgärden är skiftlägeskänslig.
Se även
Gäller för
Parse(Type, ReadOnlySpan<Char>, Boolean)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt. En parameter anger om åtgärden är skiftlägeskänslig.
public:
static System::Object ^ Parse(Type ^ enumType, ReadOnlySpan<char> value, bool ignoreCase);
public static object Parse(Type enumType, ReadOnlySpan<char> value, bool ignoreCase);
static member Parse : Type * ReadOnlySpan<char> * bool -> obj
Public Shared Function Parse (enumType As Type, value As ReadOnlySpan(Of Char), ignoreCase As Boolean) As Object
Parametrar
- enumType
- Type
En uppräkningstyp.
- value
- ReadOnlySpan<Char>
Ett intervall som innehåller namnet eller värdet som ska konverteras.
- ignoreCase
- Boolean
true för att ignorera ärende. false hänsyn till ärendet.
Returer
Ett objekt av typen enumType vars värde representeras av value.
Undantag
enumType är null.
enumType är inte en Enum.
value är antingen en tom sträng eller bara innehåller tomt utrymme.
value är ett namn, men inte en av de namngivna konstanterna som definierats för uppräkningen.
value ligger utanför intervallet för den underliggande typen av enumType
.NET 8 och senare versioner: enumType är en boolesk uppräkningstyp.
Gäller för
Parse(Type, String, Boolean)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter till ett motsvarande uppräknat objekt. En parameter anger om åtgärden är skiftlägeskänslig.
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
Parametrar
- enumType
- Type
En uppräkningstyp.
- value
- String
En sträng som innehåller namnet eller värdet som ska konverteras.
- ignoreCase
- Boolean
true för att ignorera ärende. false hänsyn till ärendet.
Returer
Ett objekt av typen enumType vars värde representeras av value.
- Attribut
Undantag
enumType eller value är null.
enumType är inte en Enum.
-eller-
value är antingen en tom sträng ("") eller bara innehåller tomt utrymme.
-eller-
value är ett namn, men inte en av de namngivna konstanterna som definierats för uppräkningen.
value ligger utanför intervallet för den underliggande typen av enumType.
.NET 8 och senare versioner: enumType är en boolesk uppräkningstyp.
Exempel
I följande exempel används Parse(Type, String, Boolean) metoden för att parsa en matris med strängar som skapas genom att anropa GetNames metoden. Den använder Parse(Type, String) också metoden för att parsa ett uppräkningsvärde som består av ett bitfält.
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.
Kommentarer
Parametern value innehåller strängrepresentationen av en uppräkningsmedlems underliggande värde eller namngivna konstant, eller en lista över namngivna konstanter avgränsade med kommatecken (,). Ett eller flera tomma blanksteg kan föregå eller följa varje värde, namn eller kommatecken i value. Om value är en lista är returvärdet värdet för de angivna namnen i kombination med en bitvis OR åtgärd.
Om value är ett namn som inte motsvarar en namngiven konstant av enumTypegenererar metoden en ArgumentException. Om value är strängrepresentationen av ett heltal som inte representerar ett underliggande värde för enumType uppräkningen, returnerar metoden en uppräkningsmedlem vars underliggande värde value konverteras till en integraltyp. Om det här beteendet är oönskat anropar IsDefined du metoden för att säkerställa att en viss strängrepresentation av ett heltal faktiskt är medlem i enumType. I följande exempel definieras en Colors uppräkning, metoden anropas Parse(Type, String, Boolean) för att konvertera strängar till motsvarande uppräkningsvärden och anropar IsDefined metoden för att säkerställa att vissa integralvärden är underliggande värden i Colors uppräkningen.
Parametern ignoreCase anger om den här åtgärden är skiftlägeskänslig.
Se även
Gäller för
Parse<TEnum>(String, Boolean)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av TEnum till ett motsvarande uppräknat objekt. En parameter anger om åtgärden är skiftlägeskänslig.
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
Typparametrar
- TEnum
En uppräkningstyp.
Parametrar
- value
- String
En sträng som innehåller namnet eller värdet som ska konverteras.
- ignoreCase
- Boolean
true för att ignorera ärende. false hänsyn till ärendet.
Returer
Ett objekt av typen TEnum vars värde representeras av value.
Undantag
TEnum är inte en Enum typ.
value är null.
value innehåller inte uppräkningsinformation.
.NET 8 och senare versioner: TEnum är en boolesk uppräkningstyp.
Gäller för
Parse<TEnum>(ReadOnlySpan<Char>, Boolean)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av TEnum till ett motsvarande uppräknat objekt. En parameter anger om åtgärden är skiftlägeskänslig.
public:
generic <typename TEnum>
where TEnum : value class static TEnum Parse(ReadOnlySpan<char> value, bool ignoreCase);
public static TEnum Parse<TEnum>(ReadOnlySpan<char> value, bool ignoreCase) where TEnum : struct;
static member Parse : ReadOnlySpan<char> * bool -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As ReadOnlySpan(Of Char), ignoreCase As Boolean) As TEnum
Typparametrar
- TEnum
En uppräkningstyp.
Parametrar
- value
- ReadOnlySpan<Char>
Ett intervall som innehåller namnet eller värdet som ska konverteras.
- ignoreCase
- Boolean
true för att ignorera ärende. false hänsyn till ärendet.
Returer
TEnum Ett objekt av typen TEnum vars värde representeras av value.
Undantag
TEnum är inte en Enum typ.
value innehåller inte uppräkningsinformation.
.NET 8 och senare versioner: TEnum är en boolesk uppräkningstyp.
Gäller för
Parse<TEnum>(ReadOnlySpan<Char>)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar området med teckenrepresentation av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av TEnum till ett motsvarande uppräknat objekt.
public:
generic <typename TEnum>
where TEnum : value class static TEnum Parse(ReadOnlySpan<char> value);
public static TEnum Parse<TEnum>(ReadOnlySpan<char> value) where TEnum : struct;
static member Parse : ReadOnlySpan<char> -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As ReadOnlySpan(Of Char)) As TEnum
Typparametrar
- TEnum
En uppräkningstyp.
Parametrar
- value
- ReadOnlySpan<Char>
Ett intervall som innehåller namnet eller värdet som ska konverteras.
Returer
TEnum Ett objekt av typen TEnum vars värde representeras av value.
Undantag
TEnum är inte en Enum typ.
value innehåller inte uppräkningsinformation.
.NET 8 och senare versioner: TEnum är en boolesk uppräkningstyp.
Gäller för
Parse<TEnum>(String)
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
- Källa:
- Enum.cs
Konverterar strängrepresentationen av namnet eller det numeriska värdet för en eller flera uppräknade konstanter som anges av TEnum till ett motsvarande uppräknat objekt.
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
Typparametrar
- TEnum
En uppräkningstyp.
Parametrar
- value
- String
En sträng som innehåller namnet eller värdet som ska konverteras.
Returer
Ett objekt av typen TEnum vars värde representeras av value.
Undantag
TEnum är inte en Enum typ.
value är null.
value innehåller inte uppräkningsinformation.
.NET 8 och senare versioner: TEnum är en boolesk uppräkningstyp.