有時我必須實現一個接口或繼承基本方法期望的對象的虛擬(MustInherit),而我知道我將通過的值將總是總是是一個整數例如。隱含的VB性能問題
什麼應該從下面的例子中的最佳性能:
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:鑄造時,類型是已知的,但感覺更安全。
注:請不要用「你爲什麼不想要實現它在不同的方式」等等,等等評論 我的問題不是如何做到這一點,我沒有找到的例子如何問它,我的問題是什麼選項應該是rightes,什麼會花費更多的性能。
如果您聲稱實施該界面,則應該準備好接受任何對象。否則,你並沒有真正實現接口。 – 2009-12-12 23:31:07
同樣,我說接口的東西只是一個理由來提出我的問題。 – Shimmy 2009-12-12 23:59:26
而一個實際的例子是當你重寫一個類,並將其標記爲NotInheritable(密封)。 另一個很好的例子是當你實現IValueConversion時。 – Shimmy 2009-12-13 00:00:38