.Net 2.0 - Wichtiger Unterschied bei der Implementierung von Collections

21. Juli 2005 18:43

Bei .Net vor der Version 2.0 gab es keine Generics: Wollte man ein Dictionary-Objekt (Hashtable, Map...), dann verwendete man dafür das ganz normale Hashtable-Objekt.

Bei .Net 2.0 gibt es nun die Generics, die unter anderem den großen Vorteil haben typensicher zu sein. Um eine Hashtable für 'string' auf 'object' anzulegen, geht man einfach wie folgt vor:

Dictionary<string,object> map = new Dictionary<string,object>;

Soweit - so gut. Auf eines muss man aber aufpassen: Die Implementierung von Lookups ist etwas anders als früher. Bisher konnte man in etwa das folgende verwenden:

Hashtable ht = new Hashtable();
ht[ "paul"] = new Person();

Wollte man dann später eine Person rausholen, so ging das wie folgt:

Person p = ht["paul"];
if( p != null) // .... dann hatte man die Person

Bei der Dictionary-Klasse ist das anders: Ist der Key nicht enthalten, dann wird der Zugriff über eckige Klammern eine Exception. Statt dessen gibt es aber eine alternative Funktion zum erfragen anhand des Keys.

Kommentare sind geschlossen

Kalender

<<  Mai 2012  >>
MoDiMiDoFrSaSo
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar