Enums 枚举的重要性
我有点困惑为什么枚举很重要。假设我们有以下代码Enums 枚举的重要性,enums,enumeration,Enums,Enumeration,我有点困惑为什么枚举很重要。假设我们有以下代码 enum playerState {walking, running, idle, jumping, dead}; playerState myPlayerState = idle; if{energy == 0} { myPlayerState = dead; } 这比仅仅使用字符串和完全避免枚举,并在必要时切换到新的适当字符串值更有效吗 string playerState = "idle"; if{energy == 0} {
enum playerState {walking, running, idle, jumping, dead};
playerState myPlayerState = idle;
if{energy == 0}
{
myPlayerState = dead;
}
这比仅仅使用字符串和完全避免枚举,并在必要时切换到新的适当字符串值更有效吗
string playerState = "idle";
if{energy == 0}
{
playerState = "dead";
}
2个原因:
1) 在大多数语言中,枚举将使用整数或类似值实现,这通常比可比较的字符串占用更少的内存
2) 它是其他开发人员查看代码的指南,让他们知道变量可能具有的状态有一个有限的列表,并告诉他们在自然语言中是什么。区别在于枚举定义了一组严格的变量值,如果你试图给它一些不好的东西,它会给你一个编译时错误 对于字符串,它们可以接受任何值,如果程序中的某个定义认为字符串是“坏”的,那么它将在运行时失败;或者根本没有,并导致不可预测的行为 编译时失败的东西比运行时失败的东西要好得多;如果可能的话 @杰夫也是对的。枚举通常会占用更少的空间,所以如果有很多变量在浮动,使用枚举可能会有所不同
谢谢,我甚至没有想到编译与运行时组件。。。这很有道理。@4Matt Np。您将诅咒编译时错误,直到您开始在运行时弹出内容。如果你认为我的答案最能回答你的问题,请接受。