【问题标题】:Property to index an array by an enum in c#在 c# 中按枚举索引数组的属性
【发布时间】:2014-02-24 18:16:09
【问题描述】:

我意识到我可以通过将枚举转换为 int 来从数组中选择一个元素,但是由于我需要在我的代码中多次这样做,我想知道是否有一种方法来设置属性或类似的东西来减少代码重复。我怎么能做这样的事情?

【问题讨论】:

标签: c# arrays properties enums indexing


【解决方案1】:

enum 转换为int 非常有效。事实上,在大多数情况下,编译器已经为您完成了大部分工作。例如,使用像 arr[(int)MyEnum.Value] 这样的常量将自动编译成像 arr[7] 这样的 int 字面量。 所以真的没有必要试图加快速度。

但是,如果您的 enum 值的范围不严格为 0 — n,(其中 n array.length),那么建议使用 Dictionary而是。

【讨论】:

  • 我的意思不是让它更快。我想减少强制转换的代码重复。另外,如果无效枚举在属性中是单独的,我可以检查一次。
猜你喜欢
  • 1970-01-01
  • 2010-10-01
  • 2010-11-02
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多