De exception raisen en handlen is trager, en proberen item met ID x te vinden is ook trager. Count checken is doorgaans snel, omdat veel list-achtige classes die count bijhouden in een variabele.
Alleen, het feit dat Count > 0, is natuurlijk geen garantie op succes, want het ID kan ook nog ongeldig zijn, en in dat geval zal de exception 'ontsnappen' in het tweede fragment. Ze zijn dus ook functioneel niet hetzelfde.
Wil je ze functioneel wél hetzelfde maken, dan heb je dus ook in de tweede situatie exception handler nodig (of een IndexOf of Exists check, als je collection zoiets bevat), maar dan is je winst weer weg, tenzij je in veel gevalleen een count van 0 hebt.
En dan nog is de vraag, hoe vaak roep je dit aan, en hoeveel winst ga je nou eigenlijk echt halen? Is het het waard om over na te denken? Bij een beetje standaard gebruik in een standaard-applicatie, waar ID bijvoorbeeld door een gebruiker wordt ingetypt, gaat het om microseconden. Mensen hebben meer tijd besteed aan het schrijven van deze vraag en z'n antwoorden dan dat zo'n applicatie in een jaar besteedt aan de minder optimimale oplossing van de twee.
Bookmarks