C# 如何给枚举类型的变量 赋值

来源:百度知道 编辑:UC知道 时间:2024/06/08 00:51:05
RT

枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。

基础类型不能隐式转换为枚举类型
枚举类型也不能隐式转换为基础类型

示例:
public enum Number
{
a,
b,
c,
d
}
class Test
{
public static void Main()
{
int i=Number.a;//错误,要强制类型转换(int)Number.a
Number n;
n=2 //错误,要强制类型转换(Number)2
}
}

你可以在申明的时间直接赋值
例如:
enum WeekDay
{
Monday=0,
Tuesday=1

}

直接赋值为该枚举类型所有值中的其中一个即可

或者强制转换int类型数值为该枚举类型值即可(当然,int值要存在于该枚举值中)

例如

enum Status
{
    Unknown, // 默认值为0
    PowerOn,
    Work = 5,
    Idle = 8,
}

Status s = Status.Idle;
Status s2 = (Status)5;