我在解決兩個警告。第一個警告是在oInfo.Length中從long到string的隱式轉換。第二種是在'strSize'上將字符串隱式轉換爲double。這是一箇舊的.NET 1項目,我嘗試將其轉換爲4.0。如何在保持邏輯的同時修復這些警告?如何修復字符串和字符串以乾淨地雙倍轉換?
Dim oInfo As New System.IO.FileInfo(Server.MapPath(strVirtualPath))
Dim strSize As String = ""
Try
If oInfo.Exists Then
strSize = **oInfo.Length**
If **strSize** < 1048576 Then
strSize = System.Math.Round(Convert.ToInt64(strSize)/1024, 2) & " kb"
Else
strSize = System.Math.Round(Convert.ToInt64(strSize)/1048576, 2) & " mb"
End If
End If
Catch ex As Exception
'如果了strsize <1048576 Then'這是怎麼預期工作?使用正確的數據類型... – Basic
我不禁要注意「kb」和「mb」是小寫,正確的是大寫(即10 MB,20 KB)。 http://physics.nist.gov/cuu/Units/binary.html http://en.wikipedia.org/wiki/Binary_prefix –
使用Option Strict - always。 '如果strSize <10485761'與'If「cat <<15那麼' – Plutonix