Ответ 1
Я не думаю, что есть простой способ прямого возвращения многомерного массива из запроса Linq... однако вы могли бы создать функцию, которая принимает зубчатый массив и возвращает многомерный массив:
public T[,] JaggedToMultidimensional<T>(T[][] jaggedArray)
{
int rows = jaggedArray.Length;
int cols = jaggedArray.Max(subArray => subArray.Length);
T[,] array = new T[rows, cols];
for(int i = 0; i < rows; i++)
{
cols = jaggedArray[i].Length;
for(int j = 0; j < cols; j++)
{
array[i, j] = jaggedArray[i][j];
}
}
return array;
}
Кстати, это может быть метод расширения, позволяющий использовать его в запросе Linq...