I tipi enumerati sono uno strumento ampiamente diffuso nel .NET Framework, poiché semplificano l'uso di costanti e la loro creazione è alquanto banale. Gli enum sono rappresentati dai nomi, ma internamente sono valorizzati con numeri i quali permettono, grazie all'operatoro bitwise, di essere combinati per rappresentare più nomi.
Ci sono però un paio di funzioni che sono sempre mancante nella BCL e che finalmente sono state introdotte nel .NET Framework 4.0. La prima funzione è il TryParse che permette di effettuare un tentativo di parsing di una stringa ed avere il rispettivo tipo enumerato. Ecco un esempio di utilizzo:
Keys k;
if (Enum.TryParse<Keys>("Return,Control", out k))
{
// Stampa Return, Control
Console.WriteLine(k);
}Da notare come la funzione generica permetta di lavorare in modo tipizzato, supporti i valori separati da virgola e, in linea ai metodi simili della BCL, restituisce l'esito del parsing.
La seconda funzione è HasFlag, il quale diversamente dall'operatore di uguaglianza permette di sapere se un valore contiene un valore combinato. Ecco un esempio:
Keys k = Keys.Control | Keys.Return;
if (k.HasFlag(Keys.Return))
Console.WriteLine("Return");Prima del .NET Framework 4.0 per fare questa operazione era necessario utilizzare l'operatore & e scrivere una condizione piuttosto verbosa.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Sfruttare una CDN con i bundle di ASP.NET
- Le DirectInk API nella Universal Windows Platform
- Inserire le news di Punto Informatico nel proprio sito


