2014-07-25 34 views
-3

我有一個Windows窗體應用程序在C#中包含一個字符串數組(字符串[])與幾個元素和一個文件與文本存儲逐行 - 線。現在我想遍歷數組以查看文件中是否已經存在數組元素,如果不是將數組元素寫入文件末尾。但是,我無法正確理解邏輯。C#如果數組元素不存在於文本文件中追加文件中的元素

+0

碼?你有嗎? –

+0

你真正想要什麼,發佈你的代碼 –

+0

File.ReadLines(filePath)會讓你在IEnumerable中獲得文件的行。使用Enumerable.Except獲取差異和File.AppendAllLines將它們寫回到文件中。 –

回答

0
File.AppendAllLines(filePath,stringArray.Except(File.ReadLines(filePath))); 
+0

非常感謝,只需一行代碼即可完成我想要的所有功能:) – user3789185

0

試試這個:

string [] array ={"a","b","c","d","e","f","g"}; 
string [] fromfile =File.ReadAllLines("file.txt"); 
List<string>toadd = new List<string>(); 
foreach(string s in array){ 
    bool found =false; 
    foreach(string fs in fromfile){ 
     if(fs==s){ 
     found =true; 
      break; 
     } 
     if(found){ 
      toadd.Add(s); 
     } 
    } 
} 
File.AppendAllLines("file.txt",toadd); 

PS:不要忘記:

using System.IO;//for the file 
using System.Collections.Generic; // for the list (toadd) 
相關問題