私はVB6っぽい人ではありません。私たちのプロジェクトのために、いくつかのコードを VB6 から C# に変換する必要があります。私はVB6にこのコードを持っています
Comm_ReceiveData = Mid$(Comm_ReceiveData, 2, Len(Comm_ReceiveData))
このコードはTimer1_Timer()
サブ関数内にあります。
この行をC#に変換しました
Comm_ReceiveData = Comm_ReceiveData.Substring(1, Comm_ReceiveData.Length);
したがって、C# では、このエラーを受け取りました。
Index and length must refer to a location within the string.
文字列 Comm_ReceiveData は "01BP215009010137\r" です。長さは17だと思います
はい、C# でこの種のエラーが発生することはわかっています。なぜVB6でエラーが発生しないのだろうか。その VB6 コードを C# に変換する別の方法はありますか? そのVB6コードは、「範囲外」の種類のエラーに敏感ではありませんか?
ところで、私はそのコードをシリアル通信に使用しています。arduino から C#/VB6 に向かう文字列を取得していて、それをデコードする必要があります。どうもありがとうございました!