提问者:小点点

C#到VB.NET-HexString


我正在将一个程序从C#转换为VB.NET,并且一切工作都很好。现在剩下的1行代码似乎无法转换到VB.NET。如果有人能帮我就好了。

C#代码:

if (num2 > 9)
            {
                text += ((char)(num2 - 10 + 65)).ToString();
            }

我就是这样试的:

If num2 > 9 Then
            text += CChar((num2 - 10 + 65)).ToString()
        End If

对于“num2-10+65”,它给出了错误代码:

“整数值无法转换为字符”

.

我做错了什么?

更新:我自己把CChar改成chr。就是这样。

固定代码:

 If num2 > 9 Then
            text += Chr(num2 - 10 + 65).ToString()
 End If

共2个答案

匿名用户

另一种以较不特定于语言的方式编写C#代码的方法如下所示:

if (num2 > 9)
{
    text += Convert.ToChar(num2 - 10 + 65);
}

您应该不会有任何问题转换为VB。请注意,在VB中应该使用实际的串联运算符(&),而不是加法运算符(+)。在很多情况下他们的行为方式是一样的,但不是全部。

If num2 > 9 Then
    text &= Convert.ToChar(num2 - 10 + 65)
End If

toString调用没有意义,因为您可以将charString连接起来。

匿名用户

在Visual Basic中,+=&=,您需要将参数转换为字符串,因此将行更改为

text &= CChar(Convert.ToChar(num2 - 10 + 65)).ToString()