c# 转义序列 不起作用

本文关键字:不起作用 转义序列 | 更新日期: 2023-09-27 18:34:49

我正在尝试在WinForm应用程序中插入这样的新行:VS2015 .net 4.5

  class Program
{
    private static List<ZONE> zones;
    static void Main(string[] args)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("line1" + Environment.NewLine);
        sb.Append("line2");
    }
}

某人。ToString 不包含"line1"和"line2"之间的换行符我不知道为什么。

c# 转义序列  不起作用

你可以试试这个:

  StringBuilder sb = new StringBuilder();
  sb.Append("line1");
  sb.AppendLine();
  sb.Append("line2");
  String result = sb.ToString();

或者更好的是:

  String result = String.Join(Environment.NewLine, "line1", "line2");

'n的含义取决于您使用的平台。如果你在窗户上,实际上是'r'n

但为了更好,请改用Environment.NewLine属性。

使用StringBuilder.AppendLine()它会自动附加当前Environment.NewLine值。

 class Program
 {
    private static List<ZONE> zones;
    static void Main(string[] args)
    {
        StringBuilder sb = new StringBuilder();
        sb.AppendLine("line1");
        sb.AppendLine("line2");
        Console.WriteLine(sb.ToString());
    }
}

sb.ToString()上的断点包含 THIS,如您所见,中断在那里。

因此,它将输出您所期望的,或者至少应该输出。这不会考虑本地化问题。