我正在将一个程序从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
另一种以较不特定于语言的方式编写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
调用没有意义,因为您可以将char
与String
连接起来。
在Visual Basic中,+=
是&=
,您需要将参数转换为字符串,因此将行更改为
text &= CChar(Convert.ToChar(num2 - 10 + 65)).ToString()