문제
나는 일부 c# 코드를 VB.net으로 포팅하고 있으며 현재이 작업을 수행하는 방법을 알아 내려고 노력하고 있습니다.
byte isEndReached = //get some data
if (isEndReached != 0)
{
for (int y = 0; y < isEndReached ; y++)
{
//do some stuff
}
}
내 시도 :
Dim isEndReached As Byte = ''//getsomedata
If Not isEndReached Is Nothing Then
For y As Byte = 0 To isEndReached - 1
''//do some stuff
Next
End If
문제는 다음과 같은 오류가 발생한다는 것입니다.
'is'연산자는 '바이트'유형의 피연산자를 허용하지 않습니다. 피연산자는 참조 또는 무효 유형이어야합니다.
이것을 어떻게 고쳐야합니까?
감사!
해결책
당신은 사용할 수 없습니다 Is
가치 유형으로. 비슷하게, Nothing
참조 유형과 값 유형에 대한 의미가 다릅니다. 다음과 같이 쓸 수 있습니다.
If isEndReached <> 0 Then
또는 이렇게 :
If isEndReached <> Nothing Then
그리고 코드를 살펴보면 실제로 기능이 바이트에 대해 음수 값을 반환하는 경우에 실제로 작성합니다.
If isEndReached > 0 Then
또는 또는 이전 줄에서 바이트를 선언 한 다음 isendreached보다 적은 상태에서 루프 만 있습니다.
Dim y As Byte
While y < isEndReached
''...
y += 1
End While
당신의 For
C# 코드와 똑같은 의미는 없지만 실제로는 더 나은 매치- 당신은 바이트를 바이트로 비교하는 것보다 바이트를 바이트로 비교합니다.
제휴하지 않습니다 StackOverflow