문제

나는 일부 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# 코드와 똑같은 의미는 없지만 실제로는 더 나은 매치- 당신은 바이트를 바이트로 비교하는 것보다 바이트를 바이트로 비교합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top