Tôi có một enumLàm thế nào để thiết lập enum null
string name;
public enum Color
{
Red,
Green,
Yellow
}
Làm thế nào để thiết lập nó để NULL trên tải.
name = "";
Color color = null; //error
được sửa đổi: xấu của tôi, tôi đã không giải thích nó đúng cách. Nhưng tất cả các câu trả lời liên quan đến nullable là hoàn hảo. Tình hình của tôi là gì nếu, tôi đã có được/thiết lập cho enum trong một lớp học với các yếu tố khác như tên, vv. Trên trang tải tôi khởi tạo lớp và cố gắng để mặc định các giá trị 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 đề xuất bên dưới Tôi đã thay đổi mã trên để làm việc với các phương pháp nhận và đặt. 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ả các đề xuất đáng yêu.
có thể trùng lặp của [Enums C#: Nullable hay 'Unknown' Giá trị] (http://stackoverflow.com/questions/1795657/c-sharp-enums-nullable-or- giá trị không xác định) –