Как читать / отображать текст "\ n" в файле в виде новой строки? - PullRequest
0 голосов
/ 24 сентября 2018

Я недавно начал программировать на C #, и у меня возникла странная, но все еще нерешительная проблема для моей текстовой игры.

В текстовом файле не будут печататься мои написанные литералы "\ n"в текстовом файле в виде новых строк.Я не могу поставить фактические строки, потому что ReadAllLines () больше не будет правильно разбивать описания.

Вот пример, чтобы выразить то, что я имею в виду

В roomdata.txt

You see an inn to the east, the everywhere else is covered in nothing but trees.\nYoucan make out a windmill and a pond in the entrance to the village.
You stand in a flat terrain spotted with unusual colorful stones.\nYou can see a tower miles away. The village is east of here.

В основном

string[] roomsdata = File.ReadAllLines("roomdata.txt");
Console.WriteLine(roomsdata[0])

Он будет печатать "\ n" в тексте, а не создавать новые строки.

1 Ответ

0 голосов
/ 24 сентября 2018

Вы можете использовать метод Replace, чтобы превратить литерал \n в escape-последовательность новой строки:

roomsdata[0].Replace("\\n", "\n")

. "\ N" будет добавлено дополнительно "\"

Ничто не добавляется к фактической строке.Поскольку файл содержит \n буквально , отладчик показывает экранированную версию.Так что в данном случае это \\n, которое отображается как \n.

Если вы хотите заменить \n's на новые строки, вы должны использовать Environment.NewLine:

roomsdata[0].Replace("\\n", Environment.NewLine)
...