C# Language Usage with anonymous types


Object initializers are the only way to initialize anonymous types, which are types generated by the compiler.

var album = new { Band = "Beatles", Title = "Abbey Road" };

For that reason object initializers are widely used in LINQ select queries, since they provide a convenient way to specify which parts of a queried object you are interested in.

var albumTitles = from a in albums 
                  select new 
                     Title = a.Title, 
                     Artist = a.Band