Different Ways of Creating a List of Objects in C#