Я сейчас создаю игру, но у меня, похоже, проблемы с чтением значений из текстового файла По какой-то причине, когда я читаю значение, оно дает мне ASCII-код значения, а не фактическое значение, когда я записываю его в файл. Я пробовал все функции преобразования ASCII и функции преобразования строк, но я просто не могу понять это.
Я использую двумерный массив целых чисел. Я использую вложенный цикл для записи каждого элемента в файл. Я посмотрел на файл, и значения верны, но я не понимаю, почему он возвращает код ASCII. Вот код, который я использую для записи и чтения в файл:
Запись в файл:
for (int i = 0; i < level.MaxRows(); i++)
{
for (int j = 0; j < level.MaxCols(); j++)
{
fileWrite.Write(level.GetValueAtIndex(i, j) + " ");
//Console.WriteLine(level.GetValueAtIndex(i, j));
}
//add new line
fileWrite.WriteLine();
}
А вот код, где я читаю значения из файла:
string str = "";
int iter = 0; //used to iterate in each column of array
for (int i = 0; i < level.MaxRows(); i++)
{
iter = 0;
//TODO: For some reason, the file is returning ASCII code, convert to int
//keep reading characters until a space is reached.
str = fileRead.ReadLine();
//take the above string and extract the values from it.
//Place each value in the level.
foreach (char id in str)
{
if (id != ' ')
{
//convert id to an int
num = (int)id;
level.ChangeTile(i, iter, num);
iter++;
}
}
Это последняя версия цикла, которую я использую для чтения значений. Чтение других значений в порядке; просто когда я получаю массив, все идет не так. Наверное, мой вопрос: почему произошло преобразование в ASCII? Если я смогу это выяснить, то смогу решить проблему. Я использую XNA 4, чтобы сделать мою игру.