問題が発生しています。シンプルですが、回避方法がわかりません。テキストファイルの値をC#の2次元マトリックスに正しく割り当てる方法
私は、ファイルを読み込むと、アレイに割り当てています:
string[] lines = File.ReadAllLines(@"C:\Users\\Documents\Visual Studio 2017\Projects\TheMaze\TheMaze\Data\" + FileName + ".txt");
map = new MapFile();
int width = lines[0].Replace(" ", "").Length;
int height = lines.Length;
map.Matrix = new byte[width, height];
for (int y = 0; y < height; y++)
{
string line = lines[y].Replace(" ", "");
for (int x = 0; x < line.Length;x++)
{
//
}
Console.ReadKey();
}
}
return map;
}
私はちょうど私の行列オブジェクトに正しくファイルから値を割り当てる方法を取得いけません。
どの変数に値を割り当てる必要がありますか?
私はmap.Matrix[x,y] = line[x]
を試しましたが、xをバイトに変換する必要があるためエラーが発生します。私のクラスに
私は、この変数を持っているマップファイル:public byte[,] Matrix = null;
I [x]は、すべての値は、後に35
として印刷されているバイトをラインを変換する場合、私は一種の完全に失われていますし、任意に感謝助けて。私は手動で書いた単なるテキストファイルです
。
あなたは '' Xを変換するために持っていけません'' byte''ではなく '' line [x] ''の戻り値です。次の '' map.Matrix [x、y] = Convert.ToByte(line [x]); ''各行にファイルの番号があるならば、 '' map.Matrix [x、y ] = Convert.ToByte(int.Parse(line [x])); '' –
答えをありがとう。 私のファイルは実際には '#'、 '。'、 'S'、 'F'で作られています ここで#は壁です。は有効なパス、「S」は始点、「F」は終点です。 – Fix3r
ファイルのサンプルを投稿することはできますか?数行で十分です。 –