2013-12-22 51 views
0

我有一個2維數組和一個循環,使用Console.Write和Console.WriteLine打印數組中的所有元素。但是,命令行不顯示數組的所有元素。我通過將輸出打印到文本文件來嘗試調試。當我查看文本文件時,我發現它包含預期輸出的一部分,而命令行包含預期輸出的另一部分,並具有一些重疊。有沒有人知道這個問題的可能解決方案?命令行不顯示所有的輸出

public void Print() 
{ 
    TextWriter tw = new StreamWriter("output.txt"); 
    //Prints the accessed coordinates and how many times it was accessed 
    for(int i = 0; i < 20; i++) 
    { 
     for(int j = 0; j < 25; j++) 
     { 
      Console.Write("Coordinate " + grid[i, j].getCoordinates() + ": "); 
      Console.WriteLine(grid[i, j].getAccessed()); 
      string text = "Coordinate " + grid[i,j].getCoordinates() + ": " + grid[i,j].getAccessed() + ""; 
      tw.WriteLine(text); 
     } 
    } 
} 

回答

3

我想你已經超過了控制檯可以顯示的行數。

試試這個:Console.BufferHeight = 500;

+0

正是我在找什麼,我很感激! – Vocany

1

我沒有在你的代碼中發現任何錯誤,但是你可以做兩件事。

啓用AutoFlush在對流進行任何寫入並檢出文件之前。

1.

TextWriter tw = new StreamWriter("c:\\textwriter.txt"); 
tw.AutoFlush = true; 

public void Print() 
{ 
    TextWriter writeFile = new StreamWriter("c:\\textwriter.txt"); 

    for(int i = 0; i < 20; i++) 
    { 
     for(int j = 0; j < 25; j++) 
     { 
      writeFile.WriteLine("Coordinate " + grid[i,j].getCoordinates() + ": " + grid[i,j].getAccessed() + ""); 
      writeFile.Flush(); 
     } 
    } 
    writeFile.Close(); 
    writeFile = null; 

} 

2.Implement異常處理。

+0

感謝您的迴應,它固定我的問題與文本文件輸出。欣賞它。 – Vocany

相關問題