我有一个字符串正在写入响应的输出流。在我保存此文档并在 Notepad++ 或写字板中打开它后,我在预期的位置得到了格式良好的换行符,但是当我使用常规的旧 Windows 记事本打开此文档时,我得到一个带有 □ 的长文本字符串(方形符号),其中换行符应该是。
有没有人有这方面的经验?
是的 - 这意味着您使用
\n
作为换行符而不是 \r\n
。记事本只懂后者。
(请注意,如果您希望平台默认,其他人建议的
Environment.NewLine
很好 - 但如果您从 Mono 提供服务并且肯定想要 \r\n
,您应该明确指定它。)
使用 Environment.NewLine 换行符。
试试这个:
string myStr = ...
myStr = myStr.Replace("\n", Environment.NewLine)
试试 ,它会工作! :)
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);
}
还有:
string s = $"first line{Environment.NewLine}second line";
如前所述,最好使用
Environment.NewLine
。 \n
代表换行符,常用于类 Unix 系统(如 Linux 和 macOS)和许多编程语言中的换行符。
Environment.NewLine
是特定于平台的字符串,表示当前操作系统的换行符序列。 它会自动适应运行代码的平台 上使用的换行约定。在 Windows 上,Environment.NewLine
等同于 \r\n
,而在类 Unix 系统上,它等同于 \n
.