//should only throw I/O related exceptions public void Load(string filename) { Ordinals.Clear(); Values.Clear(); AlreadyMissed.Clear(); Cursor = -1; StreamReader reader = new StreamReader(filename); string line = reader.ReadLine(); while (line != null) { if (!line.Trim().StartsWith("#")) { int tabIndex = line.IndexOf('\t'); if (tabIndex != -1) { string ordinal = line.Substring(0, tabIndex).Trim(); string value = line.Substring(tabIndex).Trim(); if (ordinal != "" && value != "") { Ordinals.Add(ordinal); Values.Add(value); AlreadyMissed.Add(false); } } } line = reader.ReadLine(); } reader.Close(); }