У меня есть базовое консольное приложение C #, которое построчно читает текстовый файл (в формате CSV) и помещает данные в HashTable. Первый элемент CSV в строке - это ключ (id num), а остальная часть строки - это значение. Однако я обнаружил, что в моем файле импорта есть несколько дубликатов ключей, которых не должно быть. Когда я пытаюсь импортировать файл, приложение выдает ошибки, потому что в HashTable не может быть дубликатов ключей. Я хочу, чтобы моя программа могла обрабатывать эту ошибку, хотя. Когда я сталкиваюсь с дублирующимся ключом, я хотел бы поместить этот ключ в массив и продолжить импорт остальных данных в хеш-таблицу. Как я могу сделать это в C #
Вот мой код:
приватная статическая Hashtable importFile (Hashtable myHashtable, String myFileName)
{
StreamReader sr = new StreamReader(myFileName);
CSVReader csvReader = new CSVReader();
ArrayList tempArray = new ArrayList();
int count = 0;
while (!sr.EndOfStream)
{
String temp = sr.ReadLine();
if (temp.StartsWith(" "))
{
ServMissing.Add(temp);
}
else
{
tempArray = csvReader.CSVParser(temp);
Boolean first = true;
String key = "";
String value = "";
foreach (String x in tempArray)
{
if (first)
{
key = x;
first = false;
}
else
{
value += x + ",";
}
}
myHashtable.Add(key, value);
}
count++;
}
Console.WriteLine("Import Count: " + count);
return myHashtable;
}