Dim i As Integer = 0
Dim dd() As Byte
i = cmd.Length If i = 0 Then Exit Sub 这里应该是假如i=0就退出循环
If i Mod 2 = 1 Then Exit Sub 假如求余等于1的话也退出循环
i = i / 2 - 1 ReDim dd(i) For ii As Integer = 0 To i
dd(ii) = CByte("&H" & cmd.Substring(2 * ii, 2))
Next
我在翻译到C#的环境中出现了无法将类型int隐式转换为bool的错误
不知道这段代码在C#的环境中应该如何改写呢
谢谢各位了
Dim dd() As Byte
i = cmd.Length If i = 0 Then Exit Sub 这里应该是假如i=0就退出循环
If i Mod 2 = 1 Then Exit Sub 假如求余等于1的话也退出循环
i = i / 2 - 1 ReDim dd(i) For ii As Integer = 0 To i
dd(ii) = CByte("&H" & cmd.Substring(2 * ii, 2))
Next
我在翻译到C#的环境中出现了无法将类型int隐式转换为bool的错误
不知道这段代码在C#的环境中应该如何改写呢
谢谢各位了
bool.Parse("")
byte[] ii;
i = cmd.Length;
if(i=0)
{
break;
}
if (i % 2 = 1)
{
break;
}
i = i / 2 - 1; 这样写就出现了那个隐式转换的错误
Sub send_cmd(ByVal cmd As String)
'将03050305转换成byte()
'然后发送出去
Dim i As Integer = 0
Dim dd() As Byte
i = cmd.Length If i = 0 Then Exit Sub
If i Mod 2 = 1 Then Exit Sub
i = i / 2 - 1 ReDim dd(i) For ii As Integer = 0 To i
dd(ii) = CByte("&H" & cmd.Substring(2 * ii, 2))
Next If SP1.IsOpen Then
SP1.Parity = IO.Ports.Parity.Space
SP1.Write(dd, 0, dd.Length)
End If
End Sub
if(i==0 || i%2==1)return;
i=i/2;
byte []dd=new byte[i];
for(int j=0;j<i;j++)dd(j)=CByte("&H" & cmd.Substring(2 * ii, 2))
这个有明显错误
应该是==
http://www.mybuffet.cnhttp://www.mystruggle.com.cn
{
string cmd = "152034";
int i = cmd.Length;
if (i == 0 || i % 2 == 1) return;
i = i / 2;
byte[] dd = new byte[i];
for (int j = 0; j < i; j++)
{
dd[j] = byte.Parse( cmd.Substring(2 * j, 2),System.Globalization.NumberStyles.AllowHexSpecifier);
}
for (int j = 0; j < i; j++)
{
Console.WriteLine(dd[j]);
}
}
运行结果:
21
32
52
if(i%2==1)
if垮弧里应该用双等于(**==**),返回的是true和false
byte[] ii;
i = cmd.Length;
if(i==0)//C#中等于是== ,=是符值符号
{
break;
}
if (i % 2 == 1) //C#中等于是== ,=是符值符号
{
break;
}
i = i / 2 - 1;