【发布时间】:2011-09-10 12:32:32
【问题描述】:
我有一个非常简单的 .NET 程序。只是将字符串写入文本框。我的字符串末尾出现了一个奇怪的字符。
这只发生在我的 32 位 XP 机器上。相同的程序在另一台 64 位 Windows 2008 机器上运行良好。
程序就这么简单。
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "Hello\n\0\0\0\0\0\0";
}
我知道在字符串末尾添加 \0 很奇怪,我可以在应用到文本框之前修剪它们。文本框设置为允许多行。
只是出于好奇,有人知道问题出在哪里吗?两台机器都安装了 .NET 3.5 SP1。它们都设置为具有相同的区域设置。我怀疑它是否与 32 位或 64 位有关。
更新
感谢@DBM 和@Andrew。奇怪的字符来自 \n 但与 \0 无关。现在,听起来Windows 2008 可以同时理解\r\n 和\n。有人可以确认吗?
【问题讨论】:
-
如果你用
\r\n而不是\n呢? -
@Alex 你明白了。 \r\n 在 XP box 和 2008 上都没有任何问题。你知道发生了什么吗?他们都有.NET 3.5 SP1
-
看看这个 SO question