我对枚举为何重要感到有点困惑。假设我们有以下代码...
enum playerState {walking, running, idle, jumping, dead};
playerState myPlayerState = idle;
if{energy == 0}
{
myPlayerState = dead;
}
这比仅使用字符串并完全避免枚举并在必要时切换到新的适当字符串值更有效吗?
string playerState = "idle";
if{energy == 0}
{
playerState = "dead";
}
最佳答案
不同之处在于枚举定义了变量可以保存的一组严格的值,如果你试图给它一些不好的东西,它会给你一个编译时错误。
对于字符串,它们可以取任何值,如果根据程序中的某些定义该字符串是“坏的”,它将在运行时失败;或根本没有,并导致不可预测的行为。
在编译时失败的事情比在运行时失败要好得多;如果可能。
@Jeff 也是对的。枚举几乎总是会占用更少的空间,所以如果你有很多 float 变量,使用枚举可能会有所不同。
关于enums - 枚举的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39781078/