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、長さがプレフィックスされ、null で終了する を使用します。したがって、 の最初RecievedStringの文字がnull文字 ( '\0') の場合、文字列は最初のヌル文字で終わるため、出力されません。

于 2013-08-07T19:29:24.077 に答える