J'ai un enum
string name;
public enum Color
{
Red,
Green,
Yellow
}
Comment mettre à NULL en charge.
name = "";
Color color = null; //error
Modifié: My bad, je n'ai pas l'expliquer correctement. Mais toutes les réponses liées à nullable est parfait. Ma situation est Que si, j'ai get/set pour les enum dans une classe avec d'autres éléments comme le nom, etc. Au chargement de la page je initiallize la classe et essayer de défaut, les valeurs null. Voici le scénario (le Code est en 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; //???
}
}
}
Ensuite, utilisez les suggestions ci-dessous, j'ai changé le code ci-dessus pour le faire fonctionner avec des méthodes get et set. J'ai juste besoin d'ajouter un "?" dans EnumTest classe pendant que la déclaration de privé enum variable, et en get/set méthode:
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; }
}
}
Merci à tous pour les belles suggestions.