Заданное приведение является недопустимым, задание значения двухмерному массиву
Я пытаюсь скопировать значения таблицы в двухмерный массив:
int[,] arr = new int[,] { { }, { } };
for (int i = 0; i < numericUpDown1.Value; i++)
{
for(int j = 0; j < numericUpDown2.Value; j++)
{
Console.WriteLine(i + " " + j);
arr[i, j] = (int)dataGridView1.Rows[i].Cells[j].Value;
}
}
Вот как выглядит интерфейс:
Но показывает ошибку Заданное приведение является недопустимым.
Что делать?
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
В ячейке в данном конкретном случае string, а не int.
int rows = dataGridView1.RowCount;
int cols = dataGridView1.ColumnCount;
int[,] arr = new int[rows, cols];
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Debug.WriteLine(i + " " + j);
if (int.TryParse(dataGridView1.Rows[i].Cells[j].Value.ToString(), out int value)
{
arr[i, j] = value;
}
}
}

