VB.NET字节问题
我正在将一些c#代码移植到vb.net,目前正试图弄清楚如何做到这一点VB.NET字节问题,vb.net,nothing,Vb.net,Nothing,我正在将一些c#代码移植到vb.net,目前正试图弄清楚如何做到这一点 byte isEndReached = //get some data if (isEndReached != 0) { for (int y = 0; y < isEndReached ; y++) { //do some stuff } } 问题是我遇到以下错误: “Is”运算符不接受“Byte”类型的操作数。操作数必须是引用类型或可为空的类型 我该怎么解决这个问题 谢谢 不能对值
byte isEndReached = //get some data
if (isEndReached != 0)
{
for (int y = 0; y < isEndReached ; y++)
{
//do some stuff
}
}
问题是我遇到以下错误:
“Is”运算符不接受“Byte”类型的操作数。操作数必须是引用类型或可为空的类型
我该怎么解决这个问题
谢谢 不能对值类型使用
Is
。同样,Nothing
对值类型的含义与对引用类型的含义不同。你可以这样写:
If isEndReached <> 0 Then
If isEndReached <> Nothing Then
或者,也可以在前一行声明字节,然后在其小于isEndReached时循环:
Dim y As Byte
While y < isEndReached
''...
y += 1
End While
Dim y作为字节
而你却被激怒了
''...
y+=1
结束时
您的For与C代码的含义也不完全相同,但它实际上应该更匹配—您将字节与字节进行比较,而不是将整数与字节进行比较。如果您正在移植代码,为什么要更改它?原始代码验证isChecked不同于零,但您将其更改为将其与零进行比较。。此外,变量“y”的类型也发生了变化(int=>byte)。这些变化的原因是什么?谢谢!我正在使用If Isandreached 0,然后它按照我想要的方式工作。
If isEndReached > 0 Then
Dim y As Byte
While y < isEndReached
''...
y += 1
End While