Ottieni valore Int da Enum in C#
-
Digita Cast per convertire
enuminint -
Classe
staticper convertireenuminint -
Usa
GetTypeCode()per convertireenuminint - 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#