C# 中字符串的换行符

Tho*_*sen 3 c#-4.0 windows-8 windows-runtime winrt-xaml

我正在从资源加载器加载文本,其中包含 '\n' 来指示新行。文本块获取此文本并显示它,但我看不到换行符?我还尝试用 Environment.NewLine 替换每个 '\n',但没有任何反应。我能做些什么?

这是一些代码:

        TextBlock text = new TextBlock();
        text.FontSize = 18;

        var str = loader.GetString("AboutText");
        //str.Replace("\n", Environment.NewLine);

        text.Text = str;
        text.TextAlignment = TextAlignment.Justify;
        text.TextWrapping = TextWrapping.Wrap;
        text.Margin = new Thickness(10, 10, 10, 10);
Run Code Online (Sandbox Code Playgroud)

Nik*_*tov 5

看起来资源文件正在转义\n\\n,这意味着基本上有 2 个解决方案可以解决这个问题。

你可以

var str = Regex.Unescape(loader.GetString("AboutText")); 
Run Code Online (Sandbox Code Playgroud)

或者在你的 resx 文件中,你可以通过按 Shift Enter 将 \n 替换为正常的换行符。