我希望將外部緩存中的對象安全地轉換爲Integer類型。將對象轉換爲整數的最佳方法
我似乎可以做到這一點的唯一方法是try catch塊內,像這樣:
Try
Return Convert.ToInt32(obj)
Catch
'do nothing
End Try
我討厭寫catch語句這樣。
有沒有更好的方法?
我曾嘗試:
TryCast(Object, Int32)
無效(必須是引用類型)
Int32.TryParse(Object, result)
無效(必須是一個字符串類型)
UPDATE
我喜歡Jodrell發表的評論 - 這個woul ð使我的代碼看起來是這樣的:
Dim cacheObject As Object = GlobalCache.Item(key)
If Not IsNothing(cacheObject) Then
If TypeOf cacheObject Is Int32 Then
Return Convert.ToInt32(cacheObject)
End If
End If
'Otherwise get fresh data from DB:
Return GetDataFromDB
此對象來自哪裏,它包含什麼? – SWeko
它來自外部緩存,它包含一個整數。我不能相信它不會是畸形的數據blob。 –
你認爲'TryCast'發生了什麼? – Jodrell