【发布时间】:2014-04-10 23:31:46
【问题描述】:
我正在尝试修复两个警告。第一个警告是 oInfo.Length 上从 long 到 string 的隐式转换。第二个是“strSize”上从字符串到双精度的隐式转换。这是一个旧的 .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
【问题讨论】:
-
If strSize < 1048576 Then这应该如何工作?使用正确的数据类型... -
我不禁注意到“kb”和“mb”是小写的,正确的是大写(即10 MB,20 KB)。 physics.nist.gov/cuu/Units/binary.htmlen.wikipedia.org/wiki/Binary_prefix
-
始终使用 Option Strict。
If strSize < 10485761和If "cat" < 15 Then差不多
标签: vb.net