有两个TXT文件A和B,两个文件的内容每行字段间都是以TAB键分隔(A,B文件的行内容有可能相同,也可能不同),要求比较两个文件每行的内容,如果该行既在A中也在B中则把该行写入到文件C中,如果该行在A中不在B中也把该行写入文件C中,如果该行在B中不在A中也把该行写入文件C中。即和并A和B两个文件到C中,但不能有重复的行。我的实现的方法是读取文件A和B的内容放在DataTable dt1和dt2中,然后://这次循环从dt1开始
for(int i=0;i<dt1.Rows.Count;i++)
{
   bool same=false;
   for(int j=0;j<dt2.Rows.Count;j++)
   {
      if(dt1.Rows[i].ItemArray[0].ToString() == dt2.Rows[j].ItemArray[0].ToString()
      {
          //相同的写入文件C
          same=true;
      }
   }
   if(same=false)
   {
       //此时可以把在A文件中不在B文件中的内容行比较出来写入C中,但是无法比较在B中不在A中的内容行,所以才有下面的又一次循环
   }
}
//这次循环从dt2开始,主要是为了比较把在文件B中不在文件A中的内容行找出并写入文件C中
for(int i=0;i<dt2.Rows.Count;i++)
{
   bool same=false;
   for(int j=0;j<dt1.Rows.Count;j++)
   {
      if(dt1.Rows[i].ItemArray[0].ToString() == dt2.Rows[j].ItemArray[0].ToString()
      {
         //不需要再把相同的写入C中了,上一次循环已经把相同的写入C了
         same=true;
      }   }
   if(same=false)
   {
      //此时可以把在文件B中不在文件A中的内容行找出来并写入C文件
   }
}
这样写是可以实现功能的,但是个人感觉这样写代码有些冗余,有没有更加简单的思路把文件A和B中内容行合并到文件C中,C文件中每行内容不能重复。