I have a CSV file that has over 16,000 columns to import. However, the file really only has up to 12 columns, with two empty headers in between. In the screenshot what is the best way to remove the 12 index and up to the 16,000 from the header array quickly in .NET? 8,9 should stay since 10,11 have header values. Right now I am going through every column on each row, meaning 16,000 checks per row when it should be 12 (0-11 index).
protected Dictionary<int, string> Headers = new Dictionary<int, string>();

I would loop backwards to figure out the last index in the header array where there's something.