Я не писал ни одной длины массива, но когда я пытаюсь читать .csv-файл, я получаю «Индекс находился за пределами массива». Ошибка. .csv-файл составляет около 1 000 000 строк. Есть ли кто-нибудь, чтобы исправить этот код?Ошибка Streamreader и «Index была за пределами массива»
.csv строки строки, как показано ниже.
0000000,26.0000000000000,38.0000000000000,30.01.2017,0,0,0 ,,, 0,0,, 0,, 0,0,0,0
string[] read;
char[] seperators = { ',' };
try
{
Image img = Image.FromFile(txtFilePath.Text);
Graphics g = Graphics.FromImage(img);
pictureBox1.Image = img;
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
StreamReader sr = new StreamReader(txtFile2Path.Text);
string data;
while ((data=sr.ReadLine()) !=null)
{
read = data.Split(seperators, StringSplitOptions.None);
float x = float.Parse(read[1]);
float y = float.Parse(read[2]);
string z = read[10];
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
В режим отладки смотреть на эти строки 'float x = float.Parse (читать [1]); float y = float.Parse (read [2]); string z = read [10]; ' –
Возможно, вы хотите иметь условие if, если read.Length> = 11 – Ben
В этих линиях нет ошибок в режиме отладки , Все выглядит корректно в визуальной студии в режиме отладки. – Burak