C# - 删除文本文件中的重复行

Mic*_*ael 4 .net c# windows

有人可以演示如何检查文件的重复行,然后删除任何重复项覆盖现有文件,或创建删除重复行的新文件

Luk*_*keH 10

如果你使用.NET4那么你可以使用的组合File.ReadLinesFile.WriteAllLines:

var previousLines = new HashSet<string>();

File.WriteAllLines(destinationPath, File.ReadLines(sourcePath)
                                        .Where(line => previousLines.Add(line)));
Run Code Online (Sandbox Code Playgroud)

它的功能与LINQ的Distinct方法基本相同,但有一个重要区别:输出Distinct不保证与输入序列的顺序相同.HashSet<T>明确地使用a 确实提供了这种保证.