我有游戏,我用名字标记状态。在使用状态的每个更新中,您使用它们的名称,字符串。我想知道用枚举值替换字符串是否值得吗?
也许这听起来很愚蠢,但是有很多州,每一个每秒至少处理30次。
由于
答案 0 :(得分:1)
嗯,你有性能问题吗?
当然使用整数值会更快,但如果实现它的速度足够快,可以花时间去其他地方。也许在评论中留下自己的待办事项。
答案 1 :(得分:0)
默认情况下,枚举在内部被视为int
,因此如果您多次检查,则速度会更快。但是,如果每秒仅检查30次,则与其他可能的成本相比,此成本毫无意义。你有没有想过看什么是最慢的?
答案 2 :(得分:0)
我个人认为,为了达到最大可能不必要的效率,你应该考虑位标志。这些允许您执行标准的按位运算符。
[Flags]
enum Choices
{
OptionOne = 0x0,
OptionTwo = 0x1
}
class MyClass
{
Choices mychoice = Choices.OptionOne | Choices.OptionTwo;
}
答案 3 :(得分:0)
在这种情况下,枚举肯定更干净,并提供更好的可维护性......你不会以某种方式打错状态(或者你可能,但编译器会告诉你)。它也会更快,在字符串比较中进行简单的整数比较。
话虽如此,如果编码已经完成,并且您没有针对此状态实现的性能问题,则没有太多理由可以更改它。正如其他人所说的那样,如果这是你唯一的问题,请对其进行描述。