我有以下代码:
Dim MyFile As String
MyFile = ("C:\Book1.xlsx")
Dim infoReader As System.IO.FileInfo
infoReader = My.Computer.FileSystem.GetFileInfo(MyFile)
Threading.Thread.Sleep(infoReader.Length / 1000)
如何解决以下错误:
答案 0 :(得分:0)
您需要将您的号码(双倍)转换为timeSpan:
Dim sleepTime As Timespan = TimeSpan.FromSeconds(infoReader.Lenth/1000)
答案 1 :(得分:0)
除非infoReader.Length / 1000
属性类型为Double
,否则除法运算(FileInfo.Length
)是浮点数(Long
)。
另一方面,您最有可能想要使用的Threading.Thread.Sleep()
超载需要Int
参数。
明确地将除法结果转换为Int
(文件不是太大):
Threading.Thread.Sleep(CInt(infoReader.Length / 1000))
或者使用接受TimeSpan
的{{1}}方法使用接受FromMilliseconds
的第二次重载:
Double
答案 2 :(得分:0)
使用整数除法除以它。 sleep函数不会将double作为参数。
Threading.Thread.Sleep(infoReader.Length \ 1000)