0

Почему то пишет такую ошибку "Входная строка имела неверный формат данных". Не знаю в чем проблема. Я пробовала работать с файлом с расширением .dat, но все равно такая же ошибка.

    double[] dat;
int N = 0;

double[] p; 

string header;

private string[] title;

public O() {

    InitializeComponent();

    try 

    {
        System.IO.StreamReader sr;
        sr = new System.IO.StreamReader(Application.StartupPath + "\\date.txt", System.Text.Encoding.GetEncoding(1251));
        header = sr.ReadLine();
        N = Convert.ToInt16(sr.ReadLine());
        dat = new double[N];
        p = new double[N];
        title = new string[N];
        int i = 0; 
        string st;

        st = sr.ReadLine();
        while ((st != null) && (i < N))
        {
            title[i] = st;
            st = sr.ReadLine();
            dat[i++] = Convert.ToDouble(st); st = sr.ReadLine();
        }
        sr.Close();

        this.Paint += new PaintEventHandler(Diagram);
        double sum = 0;
        int j = 0;
        for (j = 0; j < N; j++) sum += dat[j];
        for (j = 0; j < N; j++)

            p[j] = (double)(dat[j] / sum);

    }
    catch (Exception ex)

    {

        MessageBox.Show(ex.Message, "Диаграмма",

        MessageBoxButtons.OK, MessageBoxIcon.Error);

    }
}

  • Всем спасибо, я устранила ошибку, у меня файл был неверного формата. – jiafey112 Apr 26 '22 at 14:05
  • Проблема в том, что не считывает русские буквы с файла, поставила латинские и заработало – jiafey112 Apr 26 '22 at 14:13