Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 属性通过c中的枚举对数组进行索引_C#_Arrays_Properties_Enums_Indexing - Fatal编程技术网

C# 属性通过c中的枚举对数组进行索引

C# 属性通过c中的枚举对数组进行索引,c#,arrays,properties,enums,indexing,C#,Arrays,Properties,Enums,Indexing,我意识到我可以通过将元素强制转换为int来从枚举中的数组中选择元素,但是由于我需要在代码中多次这样做,我想知道是否有一种方法可以设置属性或类似的东西来减少代码重复。我怎样才能做到这一点呢?将枚举强制转换为int非常有效。事实上,在大多数情况下,编译器已经为您完成了大部分工作。例如,使用类似于arr[intMyEnum.Value]的常量将自动编译为类似于arr[7]的int文本。 因此,真的没有必要尝试加快速度 但是,如果枚举值的范围不严格为0-n,其中n

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

将枚举强制转换为int非常有效。事实上,在大多数情况下,编译器已经为您完成了大部分工作。例如,使用类似于arr[intMyEnum.Value]的常量将自动编译为类似于arr[7]的int文本。 因此,真的没有必要尝试加快速度


但是,如果枚举值的范围不严格为0-n,其中n可能重复我的观点并不是为了加快速度。我想减少铸造的代码重复。此外,如果无效枚举在属性中是单独的,我可以对其进行一次检查。