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 log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Eseguire script pre e post esecuzione di un workflow di GitHub
- Creare una libreria CSS universale: Cards
- Migliorare l'organizzazione delle risorse con Azure Policy