ฉันมีปัญหา
string name;
public enum Color
{
Red,
Green,
Yellow
}
วิธีตั้งค่าเป็น NULL เมื่อโหลด
name = "";
Color color = null; //error
แก้ไข: ฉันไม่ดีฉันไม่ได้อธิบายอย่างถูกต้อง แต่คำตอบทั้งหมดที่เกี่ยวข้องกับ nullable นั้นสมบูรณ์แบบ สถานการณ์ของฉันคือเกิดอะไรขึ้นถ้าฉันได้รับ / ตั้งสำหรับ enum ในชั้นเรียนที่มีองค์ประกอบอื่น ๆ เช่นชื่อ ฯลฯ ในการโหลดหน้าฉันเริ่มต้นชั้นเรียนและพยายามเริ่มต้นค่าเป็นโมฆะ นี่คือสถานการณ์ (รหัสคือ 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; //???
}
}
}
จากนั้นใช้คำแนะนำด้านล่างฉันเปลี่ยนรหัสข้างต้นเพื่อให้ทำงานกับวิธีการรับและตั้งค่า ฉันแค่ต้องการเพิ่ม "?" ในคลาส EnumTest ระหว่างการประกาศตัวแปร enum ส่วนตัวและในเมธอด 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; }
}
}
ขอบคุณทุกคำแนะนำที่น่ารัก