У меня есть перечисление
string name;
public enum Color
{
Red,
Green,
Yellow
}
Как установить его в NULL при загрузке.
name = "";
Color color = null; //error
Отредактировано: Мой плохой, я не объяснил это должным образом. Но все ответы, связанные с nullable, идеальны. Моя ситуация. Что, если у меня есть/задано для перечисления в классе с другими элементами, такими как имя и т.д. На загрузке страницы я инициализирую класс и попытаюсь по умолчанию присвоить значения null. Вот сценарий (код находится в С#):
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; //???
}
}
}
Затем, используя приведенные ниже предложения, я изменил приведенный выше код, чтобы он работал с методами get и set. Мне просто нужно добавить "?" в классе EnumTest при объявлении переменной enum private и в методе 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; }
}
}
Спасибо всем за прекрасные предложения.