Tôi có một enum
string name;
public enum Color
{
Red,
Green,
Yellow
}
Làm thế nào để thiết lập nó thành NULL khi tải.
name = "";
Color color = null; //error
Chỉnh sửa: xấu của tôi, tôi đã không giải thích nó đúng. Nhưng tất cả các câu trả lời liên quan đến nullable là hoàn hảo. Tình huống của tôi là Điều gì xảy ra nếu, tôi có get / set cho enum trong một lớp với các thành phần khác như tên, v.v. Khi tải trang, tôi khởi tạo lớp và cố gắng mặc định các giá trị thành null. Đây là kịch bản (Mã nằm trong 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; //???
}
}
}
Sau đó, sử dụng các gợi ý bên dưới, tôi đã thay đổi mã ở trên để làm cho nó hoạt động với các phương thức get và set. Tôi chỉ cần thêm "?" trong lớp EnumTest trong khi khai báo biến enum riêng và trong phương thức 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; }
}
}
Cảm ơn tất cả những lời đề nghị đáng yêu.