我的应用程序有很多不同的查找值,这些值永远不会改变,例如美国各州。我不想将它们放入数据库表中,而是想使用枚举。
但是,我确实意识到这样做涉及到一些枚举以及从“int”和“string”到我的枚举的大量转换。
或者,我看到有人提到使用 Dictionary<> 作为查找表,但枚举实现似乎更清晰。
所以,我想问一下,保留和传递大量枚举并强制转换它们是否会影响性能,或者我应该使用性能更好的查找表方法吗?
编辑:需要转换作为 ID 存储在其他数据库表中。
最佳答案
从 int
转换为枚举非常便宜……它比字典查找更快。基本上它是一个空操作,只是将位复制到具有不同概念类型的位置。
将字符串解析为枚举值会稍微慢一些。
我怀疑这对你来说会是一个瓶颈,但老实说,尽管你这样做了......在不了解你在做什么的情况下,除了正常的“写最简单的,模式可读和可维护的代码,然后检查它是否表现得足够好。”
关于c# - 枚举和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3256713/