Ho un enum
string name;
public enum Color
{
Red,
Green,
Yellow
}
Come impostarlo su NULL al caricamento.
name = "";
Color color = null; //error
Modificato: Mio male, non l'ho spiegato bene. Ma tutte le risposte relative a nullable sono perfette. La mia situazione è What if, ho get / set per l'enum in una classe con altri elementi come il nome, ecc. Al caricamento della pagina inizializzo la classe e provo a impostare i valori su null. Ecco lo scenario (il codice è in C #):
namespace Testing
{
public enum ValidColors
{
Red,
Green,
Yellow
}
public class EnumTest
{
private string name;
private ValidColors myColor;
public string Name
{
get { return name; }
set { name = value; }
}
public ValidColors MyColor
{
get { return myColor; }
set { myColor = value; }
}
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
EnumTest oEnumTest = new EnumTest();
oEnumTest.Name = "";
oEnumTest.MyColor = null; //???
}
}
}
Quindi usando i suggerimenti di seguito ho modificato il codice sopra per farlo funzionare con i metodi get e set. Devo solo aggiungere "?" nella classe EnumTest durante la dichiarazione della variabile enum privata e nel metodo get / set:
public class EnumTest
{
private string name;
private ValidColors? myColor; //added "?" here in declaration and in get/set method
public string Name
{
get { return name; }
set { name = value; }
}
public ValidColors? MyColor
{
get { return myColor; }
set { myColor = value; }
}
}
Grazie a tutti per i preziosi suggerimenti.