列挙型があります
string name;
public enum Color
{
Red,
Green,
Yellow
}
ロード時にNULLに設定する方法。
name = "";
Color color = null; //error
編集:私の悪い、私はそれを適切に説明しませんでした。しかし、nullableに関連するすべての答えは完璧です。私の状況は、名前などの他の要素を持つクラスの列挙型のget / setがある場合です。ページの読み込み時に、クラスを初期化し、値をデフォルトでnullにしようとします。ここにシナリオがあります(コードは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; //???
}
}
}
次に、以下の提案を使用して、getおよびsetメソッドで機能するように上記のコードを変更しました。「?」を追加するだけです プライベート列挙変数の宣言中のEnumTestクラスと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; }
}
}
素敵な提案をありがとう。