I've seen a few different ways some with more advantages than others, but there isn't really a good way of doing it with references (Unless you specify one of the column max length values)
The only acceptable method so far is using a pointer-to-pointer method
GridNodes myNodes = new GFridNodes[maxSize][maxSize];
void DoSomething function (GridNodes **nodeArray, int maxSize)
GridNodes[j] = callSomFunction();
anyone any better ideas?