我有以下代码要优化。由于我希望文件很大,因此我没有使用 HashMap 来存储行,而是选择了 String 数组。我尝试用大约 500,000 的 n 测试逻辑,它运行了大约 14 分钟。我肯定想让它比这快得多,并感谢任何帮助或建议。
public static void RemoveDuplicateEntriesinFile(string filepath)
{
if (filepath == null)
throw new ArgumentException("Please provide a valid FilePath");
String[] lines = File.ReadAllLines(filepath);
for (int i = 0; i < lines.Length; i++)
{
for (int j = (i + 1); j < lines.Length; j++)
{
if ((lines[i] !=null) && (lines[j]!=null) && lines[i].Equals(lines[j]))
{//replace duplicates with null
lines[j] = null;
}
}
}
File.WriteAllLines(filepath, lines);
}
提前致谢!