Jag skrev ihop ett snabbt exempel för att illustrera problemet jag har. Jag vill alltså inte att dubbletter av person-objektet läggs in i listan. Hur löser man detta på ett smart sätt? Finns det någon metod man kan använda sig av för att jämföra om två objekt är identiska eller måste man skriva en egen? Jo, en sak till, jag vill undvika att använda dictonary om det går.
Dim persons As New List(Of Person)
Dim o as new Person
o.FirstName = "Nisse"
o.LastName = "Nilsson"
etc.
persons.Add(o)
Dim o2 as new Person
o.name = "Nisse"
o.LastName = "Nilsson"
etc.
If Not persons.Contains(o2) Then
persons.Add(o2)
End if
Methods such as Contains, IndexOf, LastIndexOf, and Remove use an equality comparer for the list elements. The default equality comparer for type T is determined as follows. If type T implements the IEquatable generic interface, then the equality comparer is the Equals method of that interface; otherwise, the default equality comparer is Object.Equals.
Alltså, implementera Equals i Person, exempelvis.
252 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e