To use initialization syntax like this:
var contacts = new ContactList
{
{ \"Dan\", \"dan.tao@email.com\" },
{ \"Eric\", \"ceo@google.com\" }
};
<
As far as I understand it, the collection initializer syntax is just syntactic sugar with no special tricks in it. It was designed in part to support initializing collections inside Linq queries:
from a in somewhere
select new {
Something = a.Something
Collection = new List
Before there was no way to do this inline and you'd have to do it after the case, which was annoying.