【发布时间】:2018-12-18 02:53:17
【问题描述】:
我需要比较包含多行的 2 个文本文件。 第一个文件由 63 行组成,第二个由 10 行组成。所以,我需要比较它们并删除如果第一个包含第二个,也就是说,如果第二个文件中的这 10 行包含到第一个文件中,删除它们从第一个文件开始。
string line = null;
string[] lines = File.ReadAllLines(@"D:\trash.txt").ToArray();
using (StreamReader file = new StreamReader(@"D:\write.txt"))
{
while ((line = file.ReadLine()) != null)
{
for (int i = 0; i < lines.Length; i++)
{
if (!line.Contains(lines[i]))
{
using (StreamWriter writer = new StreamWriter(@"D:\numbers.txt", true))
{
writer.WriteLine(line);
}
}
}
}
}
我试图像这样比较它们,而不是将相同的行写入新文件。但是如你所见,这段代码,如果 !line.Contains(lines[i]) 为真,写一行 10 次,导致lines.Length 等于 10
【问题讨论】:
-
你有没有尝试过?你卡在哪里了?
-
你在这个任务中遇到了什么问题?
-
@Sinatr 我试图将它们放入数组中,但失败了
-
@Tudor 我不知道该怎么做
-
@AlexandruPupsa 非常感谢!它有效!