【发布时间】:2012-11-20 03:58:31
【问题描述】:
我在VB.net中做了一个简单的例子,编译并运行它:
Public Class Application
Sub calc1()
Dim sq as Integer
'uncommenting this loop keeps it from compiling for some reason
'For i as Integer = 1 to 1000
' sq = i*i
'End For
Console.WriteLine("calculated squares")
End Sub
Public Shared Sub Main()
Dim startTime as DateTime
Dim endTime as DateTime
System.Console.WriteLine("Hello world!")
startTime = Now
calc1()
endTime = Now
Console.WriteLine(endTime.Subtract(startTime).TotalSeconds.ToString("0.0000"))
End Sub
End Class
虽然编译正常,但运行时会报一个奇怪的错误:
Unhandled Exception: System.InvalidProgramException: Invalid IL code in ThreadTest.Application:Main (): IL_0018: ldarg.0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidProgramException: Invalid IL code in ThreadTest.Application:Main (): IL_0018: ldarg.0
【问题讨论】:
-
取消注释
For循环时出现什么编译错误? -
很多错误,第一个错误在
End For。它说预期Sub,预期语句结束,预期End,预期语句结束。后面的所有行都说 Not valid as identifier. -
哦,不是
End For,是Next。While...End While,Do...Loop,For...Next,For Each...Next. -
谢谢,运行的时候还是报错。
-
参数可能有问题,你传入的是
Console.WriteLine(endTime.Subtract(startTime).TotalSeconds.ToString("0.0000"))
标签: vb.net mono monodevelop il invalidprogramexception