C# - Enum各种转换

[Flags]
public enum EMyType
{
    None = 0,
    One = 1<<0,
    Tow = 1<<1,
    There = 1<<2
}

public EMyType MyType;

1.Enum转int

1)

 var intValue = (int)MyType

2) 

var enumIntValue = 1;
var enumValue = (Enum)Enum.ToObject(typeof(EMyType),enumIntValue)
enumValue = EditorGUILayout.EnumFlagsField(enumValue);
var intValue = System.Convert.ToInt64(enumValue );

//或者
var intValue = (int)((object)enumValue );

2. int转Enum

1)

var intValue = 1;
EMyType enumValue = (EMyType)intValue;

2)

var intValue = 1;
Enum enumValue = (Enum)Enum.ToObject(typeof(EMyType), intValue);

猜你喜欢

转载自blog.csdn.net/smile_otl/article/details/134034400