Object Initializers within Collection Initializers

Recall that you can initialize a collection when it is declared, using a collection initializer.
1
2
3
4
5
List<Dog> myDogs = new List<Dog>
{
    new Dog("Kirby", 15),
    new Dog("Ruby", 3)
};
Also recall that, instead of invoking a constructor, you can initialize an object by using an object initializer.
1
Dog myDog = new Dog { Name = "Kirby", Age = 15 };
You can combine these techniques, using object initializers within collection initializers.
1
2
3
4
5
List<Dog> myDogs = new List<Dog>
{
    new Dog { Name = "Kirby", Age = 15 },
    new Dog { Name = "Ruby", Age = 3 }
};