나는이 성가신 기능/버그를 발견했습니다. 다음과 같은 후행 공백이있는 문자열이 있다고 가정하십시오.TextBox 및 RichTextBox의 나머지 출력을 삭제하는 null 문자
공백은 다를 수 있습니다. 그래서 나는 시작과 끝 태그로 둘러싸인 TextBox
에 그것을 보여줌으로써 그것이 어떻게 변하는지를 보여주고 완벽하게 작동합니다.
textBox1.Text = $"BEGIN#{value}#END";
그러나 저를 보내 장치는이 값이 같은 말에 \0
널 문자를 추가하는 추천했습니다 :
string value = "someValue " + Convert.ToChar(0x00);
와 나는 같은 방법으로 표시 할 때
textBox1.Text = $"BEGIN#{value}#END;
태그가 없으면 #END
태그가 사라집니다. 동일한 현상이 RichTextBox
에서 발생합니다.
질문 : 왜 널 문자/죽이는 문자열의 나머지 부분을 먹는합니까? 문자열에서 char 배열의 끝으로 해석되는 것은 C 또는 C++과 비슷합니까?
Windows 컨트롤이 일반적으로 작동하는 방식입니다. 네, C 나 C++과 비슷합니다. 그리고 여러분의 장치는 분명히 존중해야하는 일반적으로 받아 들여지는 터미네이터로''0 ''을 넣습니다. – GSerg
'value = value.TrimEnd ('\ 0')'? – spender
@GSerg 내 장치가 불행히도 버그로 처리합니다. 그래서 나는 그것을 제거하기 위해 조정하고 돌봐야 만한다고 생각합니다. –