有时我必须实现一个接口或继承一个基本方法需要一个对象的虚拟(MustInherit),而我知道我将传递的值将始终是一个整数,例如。
以下示例中的最佳性能应该是什么:
Public Sub DoSomething(ByVal obj As Object)
'option 1:
Dim x As Integer = obj
'option 2:
Dim y = DirectCast(obj, Integer)
End Function
注意事项:
- 选项 1:不进行强制转换,但可能不太合适,是否会降低性能?
- 选项 2:在类型已知但感觉更安全的情况下进行投射。
注意:请不要评论“你为什么不想以不同的方式实现它”等等。我的问题不是如何做到这一点,我没有找到如何提问的例子,我的问题只是什么选项应该是正确的,什么会花费更多的性能。