的我發現了一段代碼(稱爲非常非常頻繁),它將一個枚舉值到另一個枚舉值,如:性能有點speedtracing後枚舉轉換
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];
}
感謝您的意見!
如果枚舉值接近,優化器就會實現一個跳轉表,所以在這種情況下,交換機也會更好。 (不知道C#/ .NET實際上是否實現了這一點,但它是一種常見的優化) – peterchen 2009-01-24 15:55:25