3.835 messaggi dal 28 gennaio 2003
data la classe
    Private Class edificio
        Public Property id As String
        Public Property id1 As String
        Public Property scarto As Integer
    End Class


ho questa lista
Dim lista As New List(Of edificio)()

dentro contiene per esempio:
id=a id1=b scarto=3
id=a id1=c scarto=2
id=b id1=a scarto=3

di questi 3 record vorrei eliminare il terzo perchè lo considero uguale al primo (punto a confrontato col punto b == punto b confrontato col punto a)

non è che mi dareste una mano a eliminare i doppioni?

ciao

Pietro
10.957 messaggi dal 09 febbraio 2002
Contributi
Ciao Pietro, come saprai, due oggetti sono considerati uguali solo se sono esattamente la stessa istanza. L'implementazione di default infatti non fa una comparazione tra i valori delle rispettive proprietà.
Tu però puoi ridefinire questa logica facendo l'override dei metodi GetHashCode, Equals e dell'operatore di uguaglianza e diseguaglianza. Ecco come farlo in VB.NET.
https://www.infoq.com/articles/Equality-Overloading-DotNET
In questo modo potrai considerare uguali due istanze se i loro valori a e b sono uguali.

ciao,
Moreno

Enjoy learning and just keep making
3.835 messaggi dal 28 gennaio 2003
Interessante!
Grazie. Ciao.

Pietro

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.