我有一个基本的 C# 控制台应用程序,它逐行读取文本文件(CSV 格式)并将数据放入 HashTable。行中的第一个 CSV 项是键(id num),行的其余部分是值。但是我发现我的导入文件有一些不应该有的重复键。当我尝试导入文件时,应用程序出错,因为哈希表中不能有重复的键。我希望我的程序能够处理这个错误。当我遇到重复键时,我想将该键放入 arraylist 并继续将其余数据导入哈希表。我如何在 C# 中做到这一点
这是我的代码:
私有静态哈希表导入文件(哈希表 myHashtable,字符串 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;
}