Anonymous Types
Anonymous types are used to encapsulate a set of read-only properties into an object without having to define a type:
var v = new
{
Amount = 108, // Compiler infers Amount's type as `int`.
Message = "Hello" // Compiler infers Message's type as `string`.
};
When a variable is initialized with an anonymous type, it must be declared as var to access the properties of the object at a later point.
Usage
Anonymous types are commonly used with properties from another type:
var productQuery =
from prod in products
select new
{
prod.Color,
prod.Price
};
foreach (var v in productQuery)
{
Console.WriteLine("Color={0}, Price={1}", v.Color, v.Price);
}
// Or an array of anonymously typed elements:
var anonArray = new[] {
new { name = "apple", diam = 4 },
new { name = "grape", diam = 1 }
};