的名单我有以下枚举:简单的比较,如果枚举是枚举
public enum Materials { Wood, Stone, Earth, Water, Lava, Air }
现在我有,我可以走3materials(木石土)和3的arent可行走(水熔岩空气)
我想就可以比较,如果标志是三选一。
目前,这是我要做的事:
Materials myMat = Materials.Earth;
if (myMat == Materials.Earth || myMat == Materials.Wood || myMat == Materials.Stone)
{
I can walk on myMat...
}
心不是有可能创造一个新的标志像Materials.Walkable其中包括这三种材料,所以我可以只使用
if (myMat == Materials.Walkable)
如果这是可能的,我该怎么办呢?
在此先感谢;)
不知道这是在C# –
可能你为什么要定义所有枚举值的数值直观的“操作这样的?我认为只为'None'(和“Walkable”)设置它也会起作用。 – svick
为了使他们位标志,你想确保他们是2的幂。否则你的值从0开始,并增加1. – Dismissile