Ottieni valore Int da Enum in C#
-
Digita Cast per convertire
enum
inint
-
Classe
static
per convertireenum
inint
-
Usa
GetTypeCode()
per convertireenum
inint
- Altri esempi
Questo tutorial spiega come ottenere il valore int
da enum
in C# ed elenca alcuni degli esempi di codice comuni per raccogliere una panoramica del tipo di enumerazione di C#.
Enum
(noto anche come Enumeration
) è un tipo di dati definito dall’utente o un tipo di valore che di solito definisce un insieme di valori denominati costanti del tipo integrale sottostante. La parola chiave enum
definisce un tipo di enumerazione all’interno del codice. L’esempio di base è fornito di seguito:
enum Name { Joe, Rick, John, Matt }
Il tipo di enumerazione dei valori costanti predefiniti è del tipo di dati int
per impostazione predefinita. Tuttavia, il tipo integrale sottostante può essere impostato esplicitamente su qualsiasi altro tipo numerico integrale come sbyte
, byte
, short
, ushort
, int
, uint
, long
e ulong
. La tabella seguente descrive le dimensioni e l’intervallo di ogni tipo integrale predefinito in C#.
Parola chiave C# | Dimensione intera | Gamma |
---|---|---|
sbyte |
Firmato a 8 bit |
[-128, 127] |
byte |
8 bit senza segno |
[0, 255] |
short |
Firmato a 16 bit |
[-32,768, 32,767] |
ushort |
16 bit senza segno |
[0, 65,535] |
int |
Firmato a 32 bit |
[-2,147,483,648, 2,147,483,647] |
uint |
32 bit senza segno |
[0, 4,294,967,295] |
long |
Firmato a 64 bit |
[-9,223,372,036,854,775,808, 9,223,372,036,854,775,807] |
ulong |
64 bit senza segno |
[0, 18,446,744,073,709,551,615] |
Digita Cast per convertire enum
in int
Ottenere il valore int
da enum
non è così generico come sembra poiché la sfida risiede nei tipi di dati. Vedi il seguente esempio.
public enum Days { Numbers = 20, DayType = 3 }
int abc = (int)Days.Numbers;
Console.WriteLine(abc);
Produzione:
20
Ci possono essere diversi tipi sottostanti per enum
che possono essere un po’ complicati per i programmatori. Il codice sopra memorizza il valore int
di Days
enum
in abc
. In questo caso, il metodo Typecasting viene utilizzato per modificare il tipo di dati di un’entità in un altro tipo di dati, garantendo un utilizzo corretto delle variabili. Ma l’uso del typecasting non è sempre preferito.
Ci sono modi per aggirare i quali non dipendono da Typecasting e possono essere piuttosto semplici. Questi modi per aggirare sono spiegati in dettaglio con gli esempi di codice di seguito.
Classe static
per convertire enum
in int
using System;
class Demo {
public static class Subjects {
public const int maths = 2;
public const int science = 3;
public const int english = 4;
public const int history = 5;
}
public static void Main() {
int xyz = Subjects.science;
Console.WriteLine(xyz);
}
}
Produzione:
3
Il codice sopra mostra che Subjects.science
ottiene il valore corretto di 3
senza pensare a digitare il valore intero corretto.
Usa GetTypeCode()
per convertire enum
in int
using System;
class Demo {
public enum Subjects { maths, science, english, history }
public static void Main() {
Subjects Maths = Subjects.maths;
Object sub = Convert.GetTypeCode(Maths);
Console.WriteLine(sub);
}
}
Produzione:
Int32
Se un programmatore non vuole usare static const
, allora può usare il metodo precedente di GetTypeCode()
. Tutto il codice precedente estrae correttamente il numero intero dal tipo enum. Gli esempi seguenti aiuteranno a ottenere più idee.
Altri esempi
Esempio 1:
using System;
class Demo {
public enum Positions { Role = 2, Project = 3, Jobs = 4 }
public static void Main() {
int a = (int)Positions.Jobs;
Console.WriteLine(a);
}
}
Produzione:
4
Esempio 2:
using System;
class Demo {
public enum Galaxy : long { Sun = 1, S5HVS1 = 2, HD140283 = 2147977653 }
;
public static void Main() {
long solar = (long)Galaxy.HD140283;
Console.WriteLine(solar);
}
}
Produzione:
2147977653
Articolo correlato - Csharp Integer
- C# Converti Int in String
- Converti Int in Enum in C#
- Int casuale in C#
- Numero casuale in un intervallo in C#
- Converti stringa in Int in C#
- Conversione da int a esadecimale in C#