当前位置:  开发笔记 > 编程语言 > 正文

枚举转换的性能

如何解决《枚举转换的性能》经验,为你挑选了1个好方法。

经过一点速度跟踪后,我找到了一段代码(非常经常调用),它将一个枚举的值转换为另一个枚举的值,如下所示:

public Enum2 ConvertToEnum2(Enum1 enum1)
{
   switch(enum1)
   {
      case Enum1.One:
         return Enum2.One;
         break;
      case Enum1.Two:
         return Enum2.Two;
         break;
   }
}

如果我将这些转换保存在字典中并且只执行以下操作,那么我会更高效吗?

public Enum2 ConvertToEnum2(Enum1 enum1)
{
   return m_ConversionTable[enum1];
}

感谢您的意见!



1> AnthonyWJone..:

字典肯定不会更快.

如果Enum1中的枚举是顺序的,那么Enum2的数组可能会更快(但这可能是边缘的).如果Enum1接近顺序,那么阵列不会太多,它可能仍然是有用的方法.

对于具有[Flags]属性的枚举,那么切换可能是最好的.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有