var xLimit=Enumerable.Range(0,numbers.GetUpperBound(0)+1);
var yLimit=Enumerable.Range(0,numbers.GetUpperBound(1)+1);
var result = xLimit.SelectMany(x=> yLimit.Select(y => numbers[x,y]));
LINQ (это большие накладные расходы, чтобы использовать Linq для вашей начальной задачи, потому что вместо простого итерационного массива будет создан CastIterator (ответ Тима) OfTypeIterator)