2014-04-22 50 views
-8

表单停止工作时。返回whileWhile StreamReader不工作的循环

StreamReader sr= new StreamReader("Unos.txt"); 
s = sr.ReadLine(); 
      c = s.Substring(s.IndexOf(',') + 2, (s.Length - s.IndexOf(',') + 2) - (s.Length - s.IndexOf('-') + 2)); 
      if ((String.Equals(cbRazred.SelectedItem.ToString(), c.Substring(0, (c.IndexOf('-')))) && 
       String.Equals(cbOdeljenje.SelectedItem.ToString(), odeljenje.ToString()))) lbSpisak.Items.Add(s.Substring(0, s.IndexOf(','))); 
      while (s != null) 
      { 
       s = sr.ReadLine(); 
       c = s.Substring(s.IndexOf(',') + 2, (s.Length - s.IndexOf(',') + 2) - (s.Length - s.IndexOf('-') + 2)); 
       if ((String.Equals(cbRazred.SelectedItem.ToString(), c.Substring(0, (c.IndexOf('-')))) && 
        String.Equals(cbOdeljenje.SelectedItem.ToString(), odeljenje.ToString()))) lbSpisak.Items.Add(s.Substring(0, s.IndexOf(','))); 
      } 
      sr.Close(); 
+2

什么语言是什么? – Roecrew

+2

较少的细节和更多的代码吸引downvotes;) –

+3

不好的标题也吸引downvotes。 – geoffspear

回答

2
cursor to c=s.Substring...

更好地利用:

while (!sr.EndOfStream) 

为while循环检查:

StreamReader sr= new StreamReader("Unos.txt"); 
using (sr) 
{ 
while (!sr.EndOfStream) 
{ 
s = sr.ReadLine(); 
    ///make new checks on s beacuse you getting substrings and indexes that may not exist/// 
    //e.g 
    if (s.Length>=1)... 
    //do you logic 
} 
} 
+0

它的工作...非常感谢! :) – user3560486

+1

请问为什么downvote? – apomene