我想在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");
}
}
sb.ToString在&#34; line1&#34;之间不包含换行符;和&#34; line2&#34; 我不知道为什么。
答案 0 :(得分:1)
\n
的含义取决于您使用的平台。如果你在Windows上,它实际上是\r\n
。
但更好的是,使用Environment.NewLine
属性。
答案 1 :(得分:1)
使用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,因为你可以看到休息点在那里。
所以它会输出你期望的,或者至少应该输出。这不会考虑本地化问题。
答案 2 :(得分:1)
你可以试试这个:
StringBuilder sb = new StringBuilder();
sb.Append("line1");
sb.AppendLine();
sb.Append("line2");
String result = sb.ToString();
甚至更好:
String result = String.Join(Environment.NewLine, "line1", "line2");