List<string[]> ReadCsvFile(string path, int expectedFieldsCount) { var result = new List<string[]>(); var unexpectedNum = 0; try { Log("Загрузка файла {0}...", path); using(var reader = new CsvFileReader(path)) { var cols = new List<string>(); while(reader.ReadRow(cols)) { if(cols.Count == 0) continue; if(cols.Count != expectedFieldsCount) { ++unexpectedNum; Log("WARNING: Неожиданное количество колонок - {0}. Строка проигнорирована:\n{1}", cols.Count, string.Join(";", cols)); continue; } result.Add(cols.ToArray()); } } } catch(Exception e) { Log("Ошибка загрузки CSV: {0}", e); return result; } if(unexpectedNum > 0) { Log("WARNING: {0} строк содержали неверное количество столбцов. Ожидалось {1}.", unexpectedNum, expectedFieldsCount); } Log("Загружено {0} строк.", result.Count); return result; }