【发布时间】:2013-08-27 23:16:30
【问题描述】:
我不是一个 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,我需要对其进行解码。非常感谢!
【问题讨论】:
-
为什么二进制数据在字符串中?
标签: c# timer vb6 serial-port