我有兩個功能:C#讀取文件
public void SaveMap()
{
StreamWriter stream = new StreamWriter("file.txt");
for (int j = 0; j < GameConstants.MapMaxTilesX; j++)
{
for (int i = 0; i < GameConstants.MapMaxTilesY; i++)
{
stream.Write(map[j,i]);
}
}
stream.Close();
}
public void LoadMap()
{
StreamReader stream = new StreamReader("file.txt");
for (int j = 0; j < GameConstants.MapMaxTilesX; j++)
{
for (int i = 0; i < GameConstants.MapMaxTilesY; i++)
{
map[j, i] = (int)stream.Read();
}
}
stream.Close();
}
而且因爲它正確地保存數據,它不讀取它。正在讀取隨機值(至少不是那些在文件中的)
我錯了什麼?
map [,]中包含的是什麼類型?如果你存儲字符數組,那麼你寫的代碼不會返回字符,而是返回ASCII碼。 – Ucodia
映射數組是int類型 – Neomex
我重現了這個問題,並且Stream.Read()返回之前編寫的字符的ASCII碼,所以您必須將其轉換回char並將其解析爲Int32。 – Ucodia