奇怪的IndexOutOfRangeException,即使被抓住了

cbr*_*ton 1 c# xna visual-studio-2010 xna-4.0

好吧,我有一个公共静态const:

public static ChatLine[] chatLine = new ChatLine[numChatLines];
Run Code Online (Sandbox Code Playgroud)

.

调试显示了这段代码(稍后在同一个文件中):

for (int num12 = 0; num12 < numChatLines; num12++)
{
    chatLine[num12] = new ChatLine();
}
Run Code Online (Sandbox Code Playgroud)

将鼠标悬停在每个数据点上后,它会显示num12为0且chatLine为chatLine [0].这是非常奇怪的,因为我的公共const就像我在上面给你看的那样......知道为什么会这样吗?

..

完整的堆栈跟踪如下:

System.IndexOutOfRangeException was unhandled
  Message=Index was outside the bounds of the array.
  Source=Project1
  StackTrace:
       at Project1.Main.Initialize() in C:\Users\X\My Documents\Project1\Main.cs:line 7590
       at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
       at Microsoft.Xna.Framework.Game.Run()
       at Project1.Program.Main(String[] args) in C:\Users\X\My Documents\Project1\Program.cs:line 14
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
       at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
       at System.Activator.CreateInstance(ActivationContext activationContext)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

Guf*_*ffa 6

由于长度chatLine为零,numChatLines因此在创建数组时为零.您应该在设置后创建数组numChatLines.