В чем разница между этими двумя методами и когда вы используете один вместо другого?
int[,] array = new int[4,3];
int length0 = array.GetLength(0);
int upperbound0 = array.GetUpperBound(0);
MSDN говорит, что GetLength возвращает число элементов, где GetUpperBound определяет максимальный индекс, но как это может быть иначе, поскольку массивы инициализируются элементами для каждого индекса?