44 .net enums value-type reference-type
我在我的EntityFramework 5类中使用了Enum属性,但在数据库中该字段可以为空.Visual Studio提供此属性必须是可空属性的错误.我的问题是:Enum是引用类型还是值类型?
Jon*_*eet 77
System.Enum是一种引用类型,但任何特定的枚举类型都是值类型.同样,它System.ValueType是一个引用类型,但是从它继承的所有类型(除了System.Enum)都是值类型.
因此,如果您有一个枚举Foo并且您想要一个可为空的属性,那么您需要属性类型Foo?.
假设我们有枚举
public enum eCategory
{
health ,
Weapon
}
Run Code Online (Sandbox Code Playgroud)
以及一种 eCategory,例如:-
eCategory currentcategory;
Run Code Online (Sandbox Code Playgroud)
那么 currentcategory 是值类型