我有一个看似非常基本的问题。我正在尝试确定常量字符串是否真的比使用 MyEnum.ToString() 的枚举更好,需要高性能应用程序。
我有一个像这样的类,枚举,方法......
Public Enum MyEnum
MyValue1
MyValue2
End Enum
Public Class MyImportantClass
Public Sub Foo(ByVal enumerationValue As MyEnum)
' Some code in here that needs to do this at some point
Dim str As String = enumerationValue.ToString()
End Sub
End Class
我了解 enumerationValue.ToString() 存在一些性能问题。但是,另一位开发人员建议不要使用枚举,而是使用常量字符串。我的问题是方法参数是一个字符串,然后调用者可以传递他想要的任何东西。显然,不是任何字符串都可以工作,所以这是一个运行时错误。
Public Sub Foo(ByVal enumerationValue As String)
' Some code in here that needs to do this at some point
' Dim str As String = enumerationValue
End Sub
我想要枚举的安全性,但性能却是常数。正如我所说,我正在寻找一种方法来拥有我的蛋糕并吃掉它。