Ich habe eine Aufzählung
string name;
public enum Color
{
Red,
Green,
Yellow
}
So setzen Sie es beim Laden auf NULL.
name = "";
Color color = null; //error
Bearbeitet: Mein schlechtes, ich habe es nicht richtig erklärt. Aber alle Antworten in Bezug auf nullable sind perfekt. Meine Situation ist Was wäre, wenn ich für die Aufzählung in einer Klasse mit anderen Elementen wie Name usw. get / set habe. Beim Laden der Seite initiiere ich die Klasse und versuche, die Werte standardmäßig auf null zu setzen. Hier ist das Szenario (Code ist 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; //???
}
}
}
Dann habe ich anhand der folgenden Vorschläge den obigen Code geändert, damit er mit den Methoden get und set funktioniert. Ich muss nur "?" in der EnumTest-Klasse während der Deklaration der privaten Enum-Variablen und in der get / set-Methode:
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; }
}
}
Vielen Dank für die schönen Vorschläge.