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
- Community Night@Basta!Italia on tour 2009 - Milano
- Real Code Day - Firenze
- Real Code Conference 4.0 - Firenze
- Windows Phone r8me - Roma
- Visual Studio 2008 Team Suite in RTM su MSDN Download
- Rilasciata la prima CTP del .NET Parallel Framework
- Annunciata la modalità di uscita di ADO.NET Entity Framework e dei Data Services