私はここでナッツをやっています。私は以下のような機能を持っています。オブジェクトを返すことができません。私はリストで渡すことができます、私はQuickWatch
に表示することができますx.RB = theRb
少なくとも1つのリストの項目は、まだそれはループを終了しません(リターンを介して)。ループは続行されます。GenericsとEnumsの奇妙な平等問題?
私が渡しているリストは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とRbの値を確認します。どちらも同じ値を示します。 QuickWatchでx.RB = theRBの値を表示します。それは真を示す。それ以外にもテストできるものはありますか? – Mike