Вопрос по записи в файл из листа

Программирование на Юнити.

Вопрос по записи в файл из листа

Сообщение юnity 05 сен 2017, 12:39

В общем суть вопроса понятна из названия. В конце операции должен получиться txt файл.
В него будет производиться запись из двухмерного массива нулей и едениц, только записываться будет крестиками и ноликами.
Но у меня запись получается, только всё в новую строку, тоесть перенос строки происходит после каждого элемента.
x
o
x
o
x
x
o
o
o
x
x
o
А мне нужен текст, что то вроде этого:
xoxo
xxoo
oxxo
Вот собственно код, подскажите, что я делаю не так.
Буду черезвычайно благодарен.
Собственно не могу понять почему он пишет в столбик.
Синтаксис:
Используется csharp
       
if (filename == "") filename = "Save/Save.txt";
file = new FileInfo (filename);
if (!file.Exists) file.Create ();
using(StreamWriter sw = new StreamWriter(filename, false)){
        for (int m = 0; m < list.Count; m++) {
                for (int n = 0; n < h; n++) {
                        if(list[m][n].b > 0.5f){
                                sw.WriteLine("x");
                        }else{
                                sw.WriteLine("o");
                        }
                        sw.BaseStream.Seek(0,SeekOrigin.End);
                }
               sw.WriteLine("\n");
        }
        sw.Close();
}
Give exact coordinates of the decision of the problems
Аватара пользователя
юnity
UNITрон
 
Сообщения: 290
Зарегистрирован: 21 июл 2015, 18:30

Re: Вопрос по записи в файл из листа

Сообщение юnity 05 сен 2017, 13:12

Разобрался сам. Надо было использовать Write, а не WriteLine который добавляет дескриптор перевода строки
Give exact coordinates of the decision of the problems
Аватара пользователя
юnity
UNITрон
 
Сообщения: 290
Зарегистрирован: 21 июл 2015, 18:30

Re: Вопрос по записи в файл из листа

Сообщение danquimby 05 сен 2017, 13:46

юnity писал(а):Разобрался сам. Надо было использовать Write, а не WriteLine который добавляет дескриптор перевода строки

Не надо так мучать фд
просто организуй строчки сразу и пиши их по старинке

Синтаксис:
Используется csharp
if (filename == "") filename = "Save/Save.txt";
file = new FileInfo (filename);
if (!file.Exists) file.Create ();
using(StreamWriter sw = new StreamWriter(filename, false)){
        for (int m = 0; m < list.Count; m++) {
                String line = "";
                for (int n = 0; n < h; n++)
                      line += list[m][n].b > 0.5f ? "x" : "o";
                // тут проверить я не проверял запись
                sw.WriteLine(line);
                sw.BaseStream.Seek(0,SeekOrigin.End);
        }
        sw.Close();
}
 
Пока компьютер еще не научился самостоятельно мыслить, доверять ему можно
Аватара пользователя
danquimby
UNIт
 
Сообщения: 54
Зарегистрирован: 29 янв 2015, 21:33
Откуда: Иваново
Skype: danquimby
  • Сайт

Re: Вопрос по записи в файл из листа

Сообщение Anonymyx 05 сен 2017, 14:59

А зачем .Close если используется using?
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Вопрос по записи в файл из листа

Сообщение danquimby 05 сен 2017, 15:21

Anonymyx писал(а):А зачем .Close если используется using?

я же написал не проверял )) а так вы верно подметили idispose вызовется автоматом и прикроет
Пока компьютер еще не научился самостоятельно мыслить, доверять ему можно
Аватара пользователя
danquimby
UNIт
 
Сообщения: 54
Зарегистрирован: 29 янв 2015, 21:33
Откуда: Иваново
Skype: danquimby
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 12