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 };
すべてが魔法のように機能します。
そして今、質問:上記の配列宣言が機能し、他の配列宣言が機能しない理由を知っている人はいますか? どうもありがとう