2013-04-15 40 views
1

如何跳過值寫入該文件,如果它在我的計算器程序= 0在for循環跳過值,如果它= 0 C#

程序,該數組寫入到一個文件中

public void SaveArrayToFile() 

     { 
      int count; 
      var writer = new System.IO.StreamWriter("C:/calc/calculations.txt",false); 
      for (count = 0; count <= Results.Length -1 ; count++) 
      { 
       if (Results[count] == 0) 
       { 
        // problem 
       } 
       writer.Write(Results[count]); 
       writer.WriteLine(); 
      } 
      writer.Dispose(); 

不限幫助將價值

+0

使用'continue'。 –

+0

使用'else',如果你的循環體積很大'continue's會使其不可讀 –

+0

如果'Results [count] == 0',你希望它做什麼?是否應該向文件寫入空行?是否應該寫出一個特殊的值,意思是「沒有數據存在」?它應該完全跳過這一行嗎?使用'continue'關鍵字完全跳過這一行很容易,但是如果這些結果需要被另一個程序讀入,這可能不起作用。 –

回答

11

要麼

if (Results[count] == 0) 
{ 
    continue; 
} 
writer.WriteLine(Results[count]); 

或者也可以簡單

if (Results[count] != 0) 
{ 
    writer.WriteLine(Results[count]); 
} 
+0

正是我所需要的,我不知道繼續 –

4

使用continue

//your code 

if (Results[count] == 0) 
{ 
    continue; 
} 

//your code 

更多(Jump Statement):

  • 要終止循環使用break關鍵字。
  • 爲了擺脫當前迭代中使用continue
6

這也正是continue語句是什麼。

if (Results[count] == 0) 
{ 
    continue; 
} 

您也可以解決使用LINQ這個問題:

foreach (var result in Results.Where(r => r != 0)) 
{ 
    writer.Write(result); 
    writer.WriteLine(); 
} 
5
if (Results[count] != 0) 
{ 
    writer.Write(Results[count]); 
    writer.WriteLine(); 
} 
3

簡單:

if (Results[count] != 0) 
{ 
     // Write it. 
}