在课堂上,我有一个enum和一个私有的int:
public enum DOOR_STATE { IDLE = 0, OPENING, OPEN, CLOSING };
private int currentState;
在方法内部,如果我这样做:
currentState = DOOR_STATE.OPENING as int;
我收到一条错误消息:“as运算符不能与非可空值类型int一起使用”
但如果相反,我会这样做:
currentState = (int) DOOR_STATE.OPENING;
错误消失了。
有人可以解释两种铸造方法之间的区别吗?