我在構造函數中有一個循環,它創建並初始化一個鋸齒狀的對象數組。在循環內部,我會在每次迭代時將它打印到控制檯,這樣我就知道它的過程有多遠。它僅以5的倍數打印到控制檯(儘管由於某種原因它只打印在10的倍數上),因此它不會使屏幕垃圾郵件。例如,15%20%25%。C#檢查進度的奇怪問題
當我在Windows上運行.Net 2.0上的代碼時,它每打印10%(而不是5%)。如果我在ARM機器上的Mono上運行相同的代碼,它根本不打印任何進度。
- 什麼是造成莫諾不給任何輸出?
- 爲什麼它僅以10%而不是5%的增量進行打印?
感謝
下面的代碼:
public Map(int NumberOfRows, int NumberOfColumns)
{
Rows = NumberOfRows;
Columns = NumberOfColumns;
TileGrid = new Tile[NumberOfRows][];
for (int x = 0; x < TileGrid.Length; x++)
{
TileGrid[x] = new Tile[NumberOfColumns];
for (int y = 0; y < TileGrid[x].Length; y++)
{
TileGrid[x][y] = new Tile();
}
if (((double)x/Rows) * 100 % 5 == 0)
{
Console.WriteLine("{0}%", ((double)x/Rows) * 100);
}
}
}
您使用'double'這一事實是問題所在。雙**有**不夠精確**。 –