나는 여기에 견과류가 될 것 같습니다. 나는 다음과 같은 기능을 가지고있다. 그것은 물건을 돌려주지 못합니다. 내가 목록에 전달할 수 있습니다, 나는 QuickWatch
에서 그 목록에있는 항목 중 적어도 하나에 대해 x.RB = theRb
을 볼 수 있습니다. 그러나 리턴 (return)을 통해 루프를 종료하지는 않습니다. 루프가 계속됩니다.제네릭 및 열거 형에 이상한 평등 문제가 있습니까?
전달할 목록은 aXXX
의 하위 클래스입니다.
RB
클래스의 aXXX
은 RBEnum
입니다.
또한 원래 Linq를 사용했지만 "일치하는 항목 없음"예외가 발생했습니다.
Private Shared Function GetX(Of T As aXXX)(ByVal a As List(Of T),
ByVal theRb As RBEnum) As T
For Each x As T In a
If (x.RB = theRb) Then Return x
Next
Return Nothing
End Function
왜 이것이 작동하지 않는지에 대한 제안이나 아이디어?
If (x.RB.Equals(theRb)) Then Return x
+1 '너는 여기에 가겠다.'너는 단 한사람 만 ... 언제 금요일에? – JonH
그들이 "평등하다"는 것을 어떻게 알 수 있습니까? 그들은 어떤 유형입니까? – Oded
QuickWatch에서 x.RB 및 theRb의 값을 확인합니다. 둘 다 같은 가치를 보여줍니다. QuickWatch에서 x.RB = theRB의 값을 표시합니다. 그것은 True를 보여줍니다. 그 이상으로 시험 할 수있는 것이 있습니까? – Mike