可能有人证明文件是如何被检查重复的行,然后任何重复被删除或者覆盖现有文件,或创建一个新的文件,重复的行删除
Could someone demonstrate how a file is checked for duplicate lines, and then any duplicates are removed either overwriting the existing file, or create a new file with the duplicate lines removed
如果你使用.NET4,那么你可以使用的 File.ReadLines
和File.WriteAllLines:
If you're using .NET4 then you could use a combination of File.ReadLines
and File.WriteAllLines
:
var previousLines = new HashSet<string>();
File.WriteAllLines(destinationPath, File.ReadLines(sourcePath)
.Where(line => previousLines.Add(line)));
此功能在pretty的大致相同的方式作为LINQ的分明
方法,有一个重要的区别:分明终止不能保证是在相同的顺序输入序列。使用
的HashSet&LT; T&GT;
明确的确提供了这种保证。
This functions in pretty much the same way as LINQ's Distinct
method, with one important difference: the output of Distinct
isn't guaranteed to be in the same order as the input sequence. Using a HashSet<T>
explicitly does provide this guarantee.