C# and arrays and assignments

Can someone help with what needs correction in the following c# code? The !! line gets a runtime error.

public GameObject GO_AI_ctrl;

public GameObject newgo;

public class GO_List_Element
    public GameObject pGO_AI_ctrl;
 public GO_List_Element[] GO_le_list = new GO_List_Element[1000];

    int GOcnt = 0;
    newgo = (GameObject)Instantiate(GO_AI_ctrl);
    GO_le_list[GOcnt].pGO_AI_ctrl = newgo;  // !! error line

The !! lines get an error at runtime NullReferemceException.
Could someone help with correcting the syntax?
The newgo gets instantiated correctly, I can see it in the inspector.

Any help greatly appreciated.

Thanks! I figured out that I allocated the array GO_le_list but not the array element GO_le_list. Once I added that code is ok.

Thanks for the List() suggestion. Tried that but don’t like what I see for the overhead of searching or traversing as this will be a central list where I want to traverse the list of gameobjects fast.