我有一个非常简单的.NET程序.只是在文本框中写一个字符串.我的字符串末尾出现一个奇怪的字符.

这只发生在我的32位XP盒子上.相同的程序在另一台64位Windows 2008机器上运行正常.
该程序就像这样简单.
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "Hello\n\0\0\0\0\0\0";
}
Run Code Online (Sandbox Code Playgroud)
我知道在字符串的末尾添加\ 0很奇怪,我可以在应用到文本框之前修剪它们.文本框设置为允许多行.
出于好奇,有人知道问题的来源吗?两台机器都安装了.NET 3.5 SP1.它们都设置为具有相同的区域设置.我怀疑它是否与32位或64位有关.
UPDATE
感谢@DBM和@Andrew.奇怪的角色来自\n但与\ 0无关.现在,听起来Windows 2008可以理解\ r \n和\n.任何人都可以证实吗?
Environment.NewLine通常,您应该使用而不是\ r \n.
在解释的方式:Environment.NewLine将包含运行应用程序的任何平台的正确的转义字符序列.在Windows上,它是\ r \n,但*nix(如果我没记错)只使用\n.