In my C# program (I'm new to C# so I hope that I'm doing things correctly), I'm trying to read in all of the lines from a text file, which will look something along the lines of this, but with more entries (these are fictional people so don't worry about privacy):

```
Logan Babbleton ID #: 0000011 108 Crest Circle Mr. Logan M. Babbleton 
Pittsburgh PA 15668 SSN: XXX-XX-XXXX
Current Program(s): Bachelor of Science in Cybersecurity
Mr. Carter J. Bairn ID #: 0000012 21340 North Drive Mr. Carter Joseph Bairn 
Pittsburgh PA 15668 SSN: XXX-XX-XXXX
Current Program(s): Bachelor of Science in Computer Science

```

I have these lines read into an array, `concentrationArray` and want to find the lines that contain the word "Current", split them at the "(s): " in "Program(s): " and print the words that follow. I've done this earlier in my program, but splitting at an ID instead, like this:

```
nameLine = nameIDLine.Split(new string[] { "ID" }, StringSplitOptions.None)[1];

```

However, whenever I attempt to do this, I get an error that my index is out of the bounds of my split array (not my `concentrationArray`). Here's what I currently have:

```
for (int i = 0; i < concentrationArray.Length; i++)
{
    if (concentrationArray[i].Contains("Current"))
    {
            lstTest.Items.Add(concentrationArray[i].Split(new string[] { "(s): " }, StringSplitOptions.None)[1]);
    }
}

```

Where I'm confused is that if I change the index to 0 instead of 1, it will print everything out perfectly, but it will print out the first half, instead of the second half, which is what I want. What am I doing wrong? Any feedback is greatly appreciated since I'm fairly new at C# and would love to learn what I can. Thanks!

**Edit** - The only thing that I could think of was that maybe sometimes there wasn't anything after the string that I used to separate each element, but when I checked my text file, I found that was not the case and there is always something following the string used to separate.