2014-10-02 53 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

相关问题