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

RT... RT 展开
 我来答
wangpaishi
推荐于2016-01-25 · TA获得超过570个赞
知道小有建树答主
回答量:932
采纳率:52%
帮助的人:760万
展开全部

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

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

例如

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

Status s = Status.Idle;
Status s2 = (Status)5;
jyrqw
2009-08-11 · TA获得超过355个赞
知道答主
回答量:130
采纳率:0%
帮助的人:104万
展开全部
枚举声明可以显式地声明 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
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋天渣观9129
推荐于2017-11-22 · TA获得超过1487个赞
知道大有可为答主
回答量:1443
采纳率:0%
帮助的人:1624万
展开全部
enumType1 e = enumType1.Item1;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bluelotus7
2009-08-12 · TA获得超过444个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:0
展开全部
enum testEnum { a = 0, b, c, d };
static void Main()
{
testEnum te1 = testEnum.a;
testEnum te2 = (testEnum)2;
Console.WriteLine("te1:{0}", te1);
Console.WriteLine("te2:{0}", te2);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
如是我之闻
2009-08-12 · TA获得超过1237个赞
知道小有建树答主
回答量:1207
采纳率:57%
帮助的人:822万
展开全部
你可以在申明的时间直接赋值
例如:
enum WeekDay
{
Monday=0,
Tuesday=1

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式