vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
ContainsKey vs KeyNotFoundException abfangen 
Autor: Philipp15
Datum: 19.12.08 22:50

Hi Leute,

ich habe eine Collection (Dictionary, weil ich herausgefunden habe, dass KeyedCollection einen ebensolchen verwendet, wodurch ja nur unnötige Aufrufe entstehen). Also mir geht es ziemlich um Performance ...
Es könnten Items abgerufen werden, die noch nicht existieren. Die kann ich aber mittels des Keys ganz einfach laden und dann zurückgeben.
Ich frage mich nur, was schneller ist:
- Mit .ContainsKey() prüfen, ob das Element existiert, falls ja zurückgeben, falls nein laden und dann zurückgeben oder
- In einem Try-Block zurückgeben und im Catchblock von KeyNotFoundException dann eben laden und nochmal zurückgeben.

ContainsKey() ruft intern Dictionary.FindEntry() auf und gibt zurück, ob das Ergebnis größergleich 0 ist. Der Indexer tut das auch und gibt ggf. Exception oder Element zurück.

Ist nur die Frage, wieviel Performance das schmeißen und Abfangen einer Exception frisst. Man kann davon ausgehen, dass beim ersten Mal auf jeden Fall die Exception fliegt und das Objekt danach noch vielleicht 3-4 Mal normal abgeholt wird.


Ich hoffe ihr habt mich verstanden und wisst weiter ...

Viele Grüße
Philipp

------------------------------
http://www.x10receiver.net/

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ContainsKey vs KeyNotFoundException abfangen1.137Philipp1519.12.08 22:50
Re: ContainsKey vs KeyNotFoundException abfangen750ModeratorRalf Ehlert19.12.08 23:05
Re: ContainsKey vs KeyNotFoundException abfangen870Philipp1519.12.08 23:37
Re: ContainsKey vs KeyNotFoundException abfangen755ModeratorRalf Ehlert20.12.08 10:29

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel