58

我有一个字符串要写入响应的输出流。在我保存此文档并在记事本++ 或写字板中打开它后,我会在预期的位置获得格式良好的换行符,但是当我使用常规的旧 Windows 记事本打开此文档时,我会得到一个带有 □ (方形符号)的长文本字符串,其中换行符应该是。

有没有人有这方面的经验?

4

5 回答 5

115

是的 - 这意味着您使用\n的是换行符而不是\r\n. 记事本只理解后者。

(请注意,Environment.NewLine如果您想要平台默认值,其他人的建议很好 - 但如果您从 Mono 服务并且绝对需要\r\n,您应该明确指定它。)

于 2009-07-27T08:47:32.977 回答
22

使用Environment.NewLine换行。

于 2009-07-27T08:49:24.580 回答
13

试试这个 :

string myStr = ...
myStr = myStr.Replace("\n", Environment.NewLine)
于 2009-07-27T08:48:41.493 回答
2

尝试\n\n,它会工作!:)

public async Task AjudaAsync(IDialogContext context, LuisResult result){
await context.PostAsync("How can I help you? \n\n 1.To Schedule \n\n 2.Consult");
context.Wait(MessageReceived);
}
于 2016-11-08T11:56:09.287 回答
1

还:

string s = $"first line{Environment.NewLine}second line";
于 2021-03-15T02:22:54.717 回答