enum clase .net enums value-type reference-type

.net - clase enum c#



Enum es Tipo de referencia o Tipo de valor? (4)

Si haces myEnum.SomeValue , será un tipo de valor.

EntityFramework propiedad Enum en mi clase EntityFramework 5, pero en la base de datos este campo es anulable. Visual Studio da el error de que esta propiedad debe ser una propiedad que admite valores NULL. Mi pregunta es: ¿Enum es un tipo de referencia o un tipo de valor?


supongamos que tenemos enum

public enum eCategory { health , Weapon }

y un tipo de eCategory como: -

eCategory currentcategory;

entonces currentcategory es de tipo de valor


System.Enum es un tipo de referencia, pero cualquier tipo de enumeración específico es un tipo de valor. De la misma manera, System.ValueType es un tipo de referencia, pero todos los tipos que heredan de él (que no sea System.Enum ) son tipos de valor.

Entonces, si tiene un Foo enum y quiere una propiedad que se puede anular, ¿necesita el tipo de propiedad para ser Foo? .


public enum TestReferenceOrValue { one, two, three } var a = TestReferenceOrValue.one; var b = a; b = TestReferenceOrValue.three;

Si las enumeraciones son por referencia, cambiar b afecta a
Console.Write(a); → uno
Console.Write(b); → tres

una gran herramienta en línea para cSharp => http://csharppad.com/