Werden Objekte initialisiert müssen häufig verschiedene Eigenschaften mit Werten gefüllt werden. Stehen diese Eigenschaften nicht direkt im Konstruktor zur Verfügung, können sie über den Objektnamen angesprochen werden.
Customer customer = new Customer(); customer.Age = 33; customer.Name = "Oliver";
Mit C# 3.0 ist es möglich auch Eigenschaften, die nicht über den Konstruktur verfügbar sind, direkt beim Initialisieren mit einem Wert zu füllen.
Customer customer = new Customer() { Age = 33, Name = "Oliver" };
Der Compiler wandelt diesen Code wieder in die ursprüngliche Variante um. Dies kann mit Hilfe des .NET Reflector überprüft werden.
*unqualifizertes Kommentar an*
33? Wieso 33? Gefühlte 29 würd ich sagen hrhrhr.