Я пытаюсь прочитать следующий текстовый файл: (обходя первые 8 строк) и чтение из стрелочки каждого столбец Индекс оказался вне границ массива? C# формы
И делаю это, помещая каждое значение столбца в массиве, который диктуется положением и length
Чтобы проверить, действительно ли значение массива зафиксировало значение столбца, я хочу видеть значение [0] при нажатии другой кнопки. Но когда я запускаю свое приложение, я получаю ошибку, что мой индекс был вне границ массива? Как, когда размер моего массива равен 3, и я не выхожу за рамки этого.
string[] val = new string[3 ]; // One of the 3 arrays - this stores column values
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string[] lines = File.ReadAllLines(ofd.FileName).Skip(8).ToArray();
textBox1.Lines = lines;
int[] pos = new int[3] { 3, 6,18}; //setlen&pos to read specific clmn vals
int[] len = new int[3] {2, 10,28}; // only doing 3 columns right now
foreach (string line in textBox1.Lines)
{
for (int j = 0; j <= 3; j++)
{
val[j] = line.Substring(pos[j], len[j]); // THIS IS WHERE PROBLEM OCCURS
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{ // Now this is where I am testing to see what actual value is stored in my //value array by simply making it show up when I click the button.
MessageBox.Show(val[0]);
}
}
}