Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le novità  del .NET Framework 4.0: Enum.HasFlag e Enum.TryParse

Le novità del .NET Framework 4.0: Enum.HasFlag e Enum.TryParse
Le novità del .NET Framework 4.0: Enum.HasFlag e Enum.TryParse
Link copiato negli appunti

Nel .NET Framework 4.0 sono presenti nuove funzionalità  anche per la classe Enum. Troviamo infatti ora anche i nuovi metodi HasFlag e TryParse. Il primo consente di sapere se un valore Enum combinato ne contiene un altro. Infatti con l'operatore bitwise è possibile assegnare ad una variabile più valori di un enum in maniera combinata, ad esempio:

Mese m = Mese.Luglio | Mese.Agosto;

In questo caso la variabile m conterrà  il valore combinato Luglio / Agosto. Se ora ad esempio volessimo sapere se questa variabile contiene il valore Marzo, potremmo utilizzare proprio il metodo HasFlag per testare la variabile:

if( m.HasFlag( Mese.Marzo))
{
   // ...
}

Ovviamente in questo caso il risultato sarà  false perchè la variabile m non contiene il valore Marzo. HasFlag può essere applicato ad un Enum solo se questo è stato marcato con l'attributo [Flags].

Il metodo TryParse consente invece di eseguire il parsing di una stringa per capire se questa può essere convertita nel valore di un Enum:

Mese m;
if (Enum.TryParse("Luglio", out m))
{
  // ...
}

Od anche un valore combinato:

Mese m;
if (Enum.TryParse("Luglio,Agosto", out m))
{
  // ...
}

Se il parsing ha successo m conterrà  il valore esaminato.

Ti consigliamo anche