2014-10-02 52 views
-2

我的代碼有什麼問題?它總是導致「找不到記錄!」即使我搜索的內容是正確的。請幫我看看我的搜索按鈕

private void button3_Click(object sender, EventArgs e) 
    { 

     string[] lines = System.IO.File.ReadAllLines(@"C:\Users\kulet\Desktop\file.txt"); 

     System.Console.WriteLine("Contents of file.txt = "); 
     foreach (string line in lines) 
     { 
      if (textBox14.Text == line) 

      { 
       label28.Text = "File exists!"; 

      } 

      else 
      { 
       label28.Text = "No record found!"; 
      } 

      Console.WriteLine("\t" + line); 


     } 
+0

您是否檢查'line'是否包含回車符字符? '\ r \ N'? – 2014-10-02 15:14:49

+1

我們必須看到輸入,以及您認爲***匹配的文本文件中的行。 – 2014-10-02 15:14:59

+0

我看到用戶剛剛創建了一個帳戶,並詢問他/她的第一個問題,並且人們開始投票反對。可能不是一個非常好的教育他們。 :| – 2014-10-02 15:17:14

回答

3

你應該把一個break;你找到了一個匹配之後,因爲現在它總是顯示最後一行的比賽:

label28.Text = "File exists!"; 
break; 

break將擺脫困境foreach的。

+1

爲什麼downvote? – 2014-10-02 15:20:44

+1

+1。我想有人讀了太多的評論[top META - 可以回答downvoted問題](http://meta.stackoverflow.com/questions/272422/is-it-ok-to-answer-downvoted-questions?cb = 1)...另一方面投票可能被刪除的問題並不重要:) – 2014-10-02 15:23:55

相關問題