Hallo zusammen,
ich habe eine Frage bezüglich der Initialisierung eines Dictionarys.
Ich verdeutliche diese Frage am besten direkt an einem Beispiel:
So habe ich bislang immer ein Dictionary initialisiert und in einer Methode als Parameter übergeben:
Dictionary<String,Object> parameters = new Dictionary<String,Object>();
parameters.Add("username","Peter");
AufrufEinerMethodeDieEinDictionaryAlsParameterBekommt(parameters);
Kann ich ein Dictionary auch so initilaisieren, dass dieser Wert bei der Initialisierung hinzugefügt wird? Im Anwendungsfall also z.B.:
AufrufEinerMethodeDieEinDictionaryAlsParameterBekommt(new Dictionary<String,Object>("username","Peter"));
Ist dies möglich?
Und allgemein: Wie nennt man diese Art der "direkten Initialisierung" in der Fachsprache überhaupt? 😃
Viele Grüße,
Cheeesi
Hallo Cheeesi,
daran wirst du dich wohl leider gewöhnen müssen.
Hab gerade nochmals den Constructor vom Dictionary durchforstet und es gibt da wohl nix passendes.
D.h. es ist auch keine Initialisierung ala Array möglich wo man in {12,12,12} die Elemente angibt.
Aber so schlimm ist das nun auch wieder nicht da man ein Dictionary normalerweise doch dazu verwendet um dynamisch irgendwelche Sachen abzuspeichern
Gruss
Michael
Hallo Cheeesi,
wobei es jetzt auch kein großes Problem wäre, eine generische Methode zu schreiben, die zwei Arrays bekommt und daraus ein Dictionary macht. Bei Aufruf der Methode benutzt man dann zwei Array-Initialisierer.
Wie nennt man diese Art der "direkten Initialisierung" in der Fachsprache überhaupt? 😃
Einfach nur array initializer (auf "deutsch" Array-Initialisierer):
The new operator permits the initial values of the array elements to be specified using an array initializer, which is a list of expressions written between the delimiters { and }.
herbivore
ja so:
AufrufEinerMethodeDieEinDictionaryAlsParameterBekommt(
new Dictionary<String,Object> { { "username","Peter" } }
);
es sind je 2 geschwungene nötig. die erste fürs Dictionary<> die zweite fürs KeyValuePair<>.
loop:
btst #6,$bfe001
bne.s loop
rts