An anonymous type is a simple class created on the fly to store a set of values. To
create an anonymous type, use the new
keyword followed by
an object initializer, specifying the properties and values the type will contain. For
example:
var dude = new { Name = "Bob", Age = 1 };
The compiler resolves this by writing a private nested type with read-only properties
for Name
(type string
)
and Age
(type int
).
You must use the var
keyword to reference an anonymous
type, because the type’s name is compiler-generated.
The property name of an anonymous type can be inferred from an expression that is itself an identifier. For example:
intAge
= 1; var dude = new { Name = "Bob",Age
};
is equivalent to:
var dude = new { Name = "Bob", Age = Age
};
Anonymous types are used primarily when writing LINQ queries.