我想知道如何从 C# 中的 file2 中删除 file1 中的行。
我已经用 python 编写了它,但是我如何用 C# 编写它(性能并不重要)?
Python 中的代码如下所示:
file_1 = "file1.txt"
file_2 = "file2.txt"
data_1 = []
data_2 = []
with open(file_1,'r') as f:
data_1 = f.readlines()
with open(file_2,'r') as f:
data_2 = f.readlines()
for line in data_1:
if line in data_2:
print(f"Removing -> {line}")
data_2.remove(line)
with open("output.txt",'w') as f:
for line in data_2:
f.write(line)
这是我的 C# 代码:
string fileName1 = @"c:\temp\file1.txt";
string fileName2 = @"c:\temp\file2.txt";
var allText1 = File.ReadAllLines(fileName1);
var allText2 = File.ReadAllLines(fileName2);
allText1 = allText1.Where(o => !allText2.Where(p => p == o).Any()).ToArray();
如何获取被删除的行? 谢谢!
最佳答案
更新:
var file1 = File.ReadLines(file1path);
var file2 = File.ReadAllLines(file2path);
File.WriteAllLines("removed.txt", file1.Except(file2));
这会得到删除的行:)
关于c# - 如何在 C# 中从 file1 中删除 file2 中存在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60263079/