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。所以我想我只需要調整並注意刪除它。 –