ser_khan Ответов: 1

Как я могу транспортировать данные datagridview в jagged array


Привет, я по какой-то причине пытаюсь перенести данные datagridview в jagged array, но мне это не удалось

ошибка заключается в следующем:
An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Additional information: The input line was not in the correct format.

мои данные datagridview похожи на;
|0.35|1.58|0.82|1.78|0.85|1.55|1|0|0|}


Что я уже пробовал:

string linex= "";
string[] correction= null;
for (int i=0;i<= rowcount-1;i++)
{
                
    for (int j=0;j<= colmcount-1;j++)
    {
        linex= linex.ToString()+" " + dataGridView1.Rows[i].Cells[j].Value.ToString();
    }
    correction= linex.Split(',');
    rowdataexample[i] = new double[columncnt];
    for (int k = 0; k <= colmcount-1; k++)
    {
        rowdataexample[i][k] = double.Parse(correction[k]);

    }
    correction= null;
    linex= "";
}

NotPolitcallyCorrect

Очевидно, что любая поправка[k] не может быть преобразована в двойник. Что имеет полный смысл, когда вы разделяете свою строку запятой и используете пробел в качестве разделителя. И вы все равно должны использовать TryParse.

ZurdoDev

Это такая простая вещь для вас, чтобы исправить, если вы используете отладчик. Вы увидите, что именно происходит.

ser_khan

нет, это не работает, я уже пробовал.

ser_khan

я видел, но что бы я ни пробовал, это не сработало
мои данные стали точно такими же, как эта коррекция[0]==>0.35 1.58 0.82 1.78 0.85 1.55 1 0 0

ser_khan

его стало очень раздражать, почему зазубренный массив не содержит ничего, кроме содержимого массива коррекции.

NotPolitcallyCorrect

Ну, "это не работает" только что-то значит для вас. Что не работает? Что вы видели, когда отлаживали свой код?

ser_khan

мои данные стали точно такими же, как эта коррекция[0]==>0.35 1.58 0.82 1.78 0.85 1.55 1 0 0

NotPolitcallyCorrect

Да... И что? Вы разделяете свою строку на запятую. Где запятая в этой строке?

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

добавьте к этому запятую

linex= linex.ToString()+"," + dataGridView1.Rows[i].Cells[j].Value.ToString();

Примечание:
использовать Двойной.Метод TryParse (Система)[^] для преобразования строки в двойную
использовать Строка.Метод Обрезки (Система)[^] чтобы избежать нежелательного пробела в начале и конце строки.