Значения в DatagridView
хранятся в табличном виде. Чтобы считать значение из ячейки, нужно обратиться к ней напрямую
int i = 0;
int j = 0;
//инициализация массива
var Main = new double[dataGridView1.Rows.Count][];
//проходим по строкам
foreach (DataGridViewRow row in dataGridView1.Rows)
{
Main[i] = new double[row.Cells.Count];
//проход по столбцам строки
foreach (DataGridViewCell cell in row.Cells)
{
//проверяем, последняя строка у DGV пустая
if (cell.Value != null)
{
Main[i][j] = double.Parse(cell.Value.ToString());
j++;
}
}
i++;
}
Также нужно сделать проверку, что пользователь вводит именно числа, но это вы уже сможете сами (например методом TryParse
)
Добавил инициализацию массива и индексы для понятного итерирования.
Ну и для вывода всего массива в тест, его нужно преобразовать в строку. Например так:
string[] strArray = new string[Main.Count()];
for (int i = 0; i < Main.Count(); i++)
{
strArray[i] = string.Join(", ", Main[i]);
}