C#遍历CSV文件中所有重复项目
时间: 2024-09-28 18:04:22 浏览: 32
在C#中,遍历CSV文件并查找重复项通常需要借助`StreamReader`读取文件内容,同时利用`HashSet`或`Dictionary`来存储已读取的值,以便检查是否存在重复。这里是一个简单的步骤示例:
1. 首先,你需要一个辅助函数来从行数据中提取需要比较的字段值。
```csharp
private List<string> ExtractValues(string line)
{
// 假设CSV字段分隔符是逗号,如果实际不是,替换为对应字符
string[] values = line.Split(',');
return values.ToList();
}
```
2. 然后使用`StreamReader`逐行读取CSV文件,并将每行的值添加到集合中。
```csharp
List<string> uniqueSet = new HashSet<string>();
string filePath = "your_file.csv";
using (var reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
var extractedValues = ExtractValues(line);
if (!uniqueSet.AddAll(extractedValues)) // 如果添加失败,说明有重复
Console.WriteLine($"Duplicate found in line: {line}");
}
}
```
3. `AddAll`方法会尝试将所有值添加到集合中,如果有重复则返回`false`,我们可以借此发现重复项。
**注意:**上述代码假设CSV文件没有头部,且不需要处理字段名。如果你需要考虑这些因素,代码将更复杂一些。
阅读全文