Recently there has been a change in the syntax for collection initializers in C# 3.0. Charlie Calvert posted about it here. David Hayden reacts with a question on why you would want this, as it only seems more verbose. Well, here are my best guesses.
To reiterate, the delta from this original and new syntax is listed in bold:
It is now necessary to specify the constructor for each object in the collection initializer. Why? Isn’t it obvious.
Guess 1: Well, now it is certainly more specific.
Guess 2: But, it does allow/remind you to specify a different class than the one in the collection if you want to. These can be derived classes. In the case of a collection based on an interface, say List<IDbConnection>, it would mean different implementing classes.
Pretty easy, right.