System.indexoutofrangeexception: "индекс находился за пределами массива".
получение ошибки: System.IndexOutOfRangeException: "индекс находился за пределами массива". в строке : dr[headerWord] = dataWords[columnIndex++];
помощь
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp12 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void BtnParseDisplay_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); txtFilePath.Text = openFileDialog1.FileName; BindDataCSV(txtFilePath.Text); } private void BindDataCSV(string filePath) { DataTable dt = new DataTable(); string[] lines = System.IO.File.ReadAllLines(filePath); if (lines.Length > 0) { //first line to create header string firstLine = lines[0]; string[] headerLabels = firstLine.Split(','); foreach(string headerWord in headerLabels) { dt.Columns.Add(new DataColumn(headerWord)); } //for data for(int r = 1; r < lines.Length; r++) { string[] dataWords = lines[r].Split(','); DataRow dr = dt.NewRow(); int columnIndex = 0; foreach (string headerWord in headerLabels) { dr[headerWord] = dataWords[columnIndex++]; } dt.Rows.Add(dr); } } if (dt.Rows.Count > 0) { dgvEmployees.DataSource = dt; } } } }
Что я уже пробовал:
все, что я могу придумать. Я гуглю уже неделю, и мой учитель ничем не может мне помочь.