0
我遇到了这个烦人的功能/错误。假设我有一个如下所示的尾随空格的字符串:空字符删除TextBox和RichTextBox中输出的其余部分
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数组的结尾?
这就是Windows控件的一般表现。是的,就像在C或C++中一样,你的设备显然会把'0'作为你应该尊重的普遍接受的终结者。 – GSerg
'value = value.TrimEnd('\ 0')'? – spender
@GSerg不幸的是,我的设备没有把它作为一个bug。所以我想我只需要调整并注意删除它。 –