Object Initializers and Collection Initializers

Object Initializers and Collection Initializers allow us to specify a set of properties to set on a new object or items to add to a new collection within a single expression

Old style:

var customer = new Customer();
customer.Name = "Phani";
customer.Address = "UK";
var item1 = new OrderItem();
item1.ItemId = "a123";
item1.Quantity = 5;
var item2 = new OrderItem();
item2.ItemId = "b456";
item2.Quantity = 2;
var order = new Order();
order.OrderId = "xyz";
order.Customer = customer;
order.Items.Add(item1);
order.Items.Add(item2);

Now with object and collection initializers , we can write as :

var order = new Order
{
    OrderId = "xyz",
    Customer = new Customer { Name = "Phani", Address = "UK" },
    Items =
    {
        new OrderItem { ItemId = "a23", Quantity = 5 },
        new OrderItem { ItemId = "b456", Quantity = 2 }
    }
};

Github: https://github.com/pbndru/ObjectCollectionInitializers

One thought on “Object Initializers and Collection Initializers”

Leave a reply to vijay Cancel reply