我正在我的 WinForm 应用程序中构建一个菜单,我正在做类似的事情:
MenuItem[] items = new MenuItem[] { };
之后 :
for (int namesIndex = 0; namesIndex < menuNames.Length; namesIndex++)
{
MenuItem item = new MenuItem(menuNames[namesIndex]);
for (int entriesIndex = 0; entriesIndex < menuEntries.GetLength(1); entriesIndex++)
{
item.MenuItems.Add(menuEntries[namesIndex, entriesIndex]);
}
items[namesIndex] = item;
}
并抛出 IndeOutOfRangeException :
在这个烦人的异常之后,我修改了数组声明:
MenuItem[] items = new MenuItem[] { null };
一切都像魅力一样。
现在的问题是:有没有人知道为什么上面的数组声明有效,而另一个不知道? 非常感谢