I have a con class MyObj : IComparable
. Ho scritto il metodo CompareTo
nella classe per l'interfaccia IComparable
, ma quando uso lo List<MyObj>.Contains(myObjInstance)
restituisce false
quando deve essere true
.Modify List.Contains behavior
Non sono sicuro di capire come devo procedere per assicurarmi che il List
usi il mio metodo di confronto personalizzato quando chiami la funzione Contains
.
Qui è la mia realizzazione compareTo:
#region IComparable Members
public int CompareTo(object obj)
{
MyObj myObj = (MyObj)obj;
return String.Compare(this.Symbol, myObj.Symbol, true);
}
#endregion
Nota la proprietà simbolo è una stringa.
Per chiarire ho messo un punto di arresto in quel metodo compareTo e non entra nemmeno lì.
Chiunque ci ha mai provato?
Grazie.
Puoi mostrarci il tuo codice? –
In particolare l'implementazione di CompareTo –