gpt4 book ai didi

c# - 如何从C#中的file2中存在的file1中删除行

转载 作者:行者123 更新时间:2023-12-04 10:34:17 24 4
gpt4 key购买 nike

我想知道如何从 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#中的file2中存在的file1中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60263079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com