C# 如何在c中从文件中删除匹配行#
我有一个条件,即a中的每一行都应该是唯一的。我正在将一个文件的输出写入另一个文件,在写入输出之前,我必须检查该行是否已存在于文件中。如果存在,则我必须跳过该行以避免多次输入C# 如何在c中从文件中删除匹配行#,c#,C#,我有一个条件,即a中的每一行都应该是唯一的。我正在将一个文件的输出写入另一个文件,在写入输出之前,我必须检查该行是否已存在于文件中。如果存在,则我必须跳过该行以避免多次输入 string[] outfiles = File.ReadAllLines(@"C:\Users\AdnanHaider\Desktop\line.txt"); foreach (string repeat in outfiles) { if (repeat.Contains(data)) {
string[] outfiles = File.ReadAllLines(@"C:\Users\AdnanHaider\Desktop\line.txt");
foreach (string repeat in outfiles)
{
if (repeat.Contains(data))
{
}
else
{
File.WriteAllLines(@"C:\Users\Adnan Haider\Desktop\line.txt",lineData);
}
}
这里的数据是第一个文件的输出,outfile是要写入和检查数据的文件,如果outfile中存在数据或不存在数据,如果是,则删除该数据,然后继续您可以使用LINQ功能:
var filename = @"C:\Users\Adnan Haider\Desktop\line.txt";
File.WriteAllLines(filename, File.ReadAllLines(filename).Distinct());
您可以使用LINQ
Distinct()
我做了一把小提琴输出的顺序重要吗?没有顺序不重要,但每一行都应该是唯一的
string[] outfiles = File.ReadAllLines(@"C:\Users\AdnanHaider\Desktop\line.txt");
var filteredLines = outfiles.Distinct();
File.WriteAllLines(@"C:\Users\Adnan Haider\Desktop\line.txt", filteredLines );