1

我正在使用 VB.net Visual Studio 2008 作为测试夹具,使用 serialport 类写入和读取 4 个 USB 虚拟串行端口。

正在发生的奇怪的事情是,查看下面的代码,在鼠标悬停时,ReceivedString 显示为“”或为空,但 ReceivedStringLength 显示为 37。这怎么可能?这两个变量都是在私有子中本地声明的。有没有人遇到过这种情况,这可能是 Visual Studio 2008 中的错误吗?

    ReceivedString = SerialPortMaestro.ReadExisting
    ReceivedStringLength = Len(ReceivedString)
4

1 回答 1

0

.NET 使用BStrings以长度为前缀和以空值结尾的 . 因此,如果其中的第一个字符RecievedStringnull字符 ( '\0'),那么它将不会被打印,因为字符串以它们的第一个空字符结束。

于 2013-08-07T19:29:24.077 回答