// Tested - Switch Columns public Boolean Switch_Columns(String InputFile, String ColumnName1, String ColumnName2) { CsvUtils cu = new CsvUtils(); cu.SetFile(InputFile); IDictionary <int, List <String> > NewDict = new Dictionary <int, List <String> >(); int ColumnIndex1 = cu.Get_Column_Index(ColumnName1); int ColumnIndex2 = cu.Get_Column_Index(ColumnName2); if (ColumnIndex1 > -1 && ColumnIndex2 > -1) { foreach (KeyValuePair <int, List <String> > entry in cu.dict) { String MyLine = cu.Get_Line_Content(entry.Key); cu.Swap(entry.Value, ColumnIndex1, ColumnIndex2); // entry.Value.RemoveAt(ColumnIndex); } cu.Save_File_As_CSV(InputFile); } else { return(false); } return(true); }