Mittendrin.

Zurück

Flurfunk der eXperts.

Hier erfahren Sie mehr über eXperts, Technologien und das wahre Leben in der SDX.

Static Object Initializer von List und Dictionary

08.05.201308:05 Uhr , Matthias Malsy

div class=“articleAbstract“>

Die Nutzung eines Objekt-Initializer ist ein sehr übersichtlicher Mechanismus um Objekte nicht nur zu erzeugen, sondern im gleichen Zuge auch zu füllen. Mit nur einem Statement werden alle gewünschten Public-Properties eines Objektes initialisiert. Weniger bekannt ist, dass der Mechanismus sich hervorragend eignet, um auch List und Dictionary als Static Member mit Elementen zu füllen.

Ein Objekt wird per Objekt-Initializer gefüllt:

Person p = new Person { Name = "Matthias Malsy", Company = "SDX AG" };

Dabei spielt es keine Rolle, ob dies eine lokale Variable oder ein static Property einer Klasse ist.

class Whatever

{

static Person p = new Person { Name = "Matthias Malsy", Company = "SDX AG" };

...

}

Die Anwendung auf Listen nutze ich persönlich sehr gerne. Für eine lokale Variable eliminiert die Initialisierung diverse Add-aufrufe bzw. die Erzeugung eines (Zwischen-) Arrays.

class Whatever

{

static List<Person> p = new List<Person> {

new Person { Name = "Matthias Malsy", Company = "SDX AG" },

new Person { Name = "Bill Who", Company = "Microsoft" },

};

...

}

Die Anwendung auf Collections sieht man eher selten, spart aber einen Static-Constructor der sonst die Initialisierung übernommen hätte.

class Whatever

{

static Dictionary<string,Person> p = new Dictionary<string,Person> {

{"MMalsy", new Person { Name = "Matthias Malsy", Company = "SDX AG" } },

{"WBill",  new Person { Name = "Bill Who", Company = "Microsoft" } },

};

...

}

Tags: .NET Dev

0 Kommentare
Dein Kommentar wartet auf Freischaltung.

Artikel kommentieren

Zurück

Tag Cloud


Kontakt aufnehmen


Anrufen

Gerne beantworten wir Ihre Fragen in einem persönlichen Gespräch!


Kontakt aufnehmen

Schreiben Sie uns eine E-Mail mit Ihren Fragen und Kommentaren!