我遇到了这个烦人的功能/错误。假设我有一个带有尾随空格的字符串,如下所示:
string value = "someValue ";
空格的数量可能会有所不同。所以我尝试用TextBox
封闭的开始和结束标签来展示它,看看它是如何变化的,它工作得很好。
textBox1.Text = $"BEGIN#{value}#END";
但是向我发送此值的设备喜欢\0
在末尾添加一个空字符,如下所示:
string value = "someValue " + Convert.ToChar(0x00);
当我尝试用相同的方法显示它时:
textBox1.Text = $"BEGIN#{value}#END;
它导致#END
标签消失。同样的现象也发生在RichTextBox
.
问题:为什么空字符会杀死/吃掉字符串的其余部分?就像在 C 或 C++ 中一样,它被解释为字符串中 char 数组的结尾?