C# 3.0 Extension Methods - Anonymous Types (C# 3.0)
(Page 3 of 4 )
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 translates this to the following:
internal class AnonymousGeneratedTypeName
{
private string name; // actual field name is irrelevant
private int age; // actual field name is irrelevant
public string Name get {return name;} {set {name = value;}}
public int Age get {return age; } {set {age = value; }}
}
...
AnonymousGeneratedTypeName dude = new AnonymousGeneratedTypeName ();
dude.Name = "Bob";
dude.Age = 1;
You must use thevar keyword to reference an anonymous type, because the name of the type is anonymous.
The property name of an anonymous type can be inferred from an expression that is itself an identifier. For example:
int Age = 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 (see Chapter 8).
Next: Attributes >>
More C# Articles
More By O'Reilly Media
|
This article is excerpted from chapter four of C# 3.0 in a Nutshell, Third Edition, A Desktop Quick Reference, written by Joseph Albahari and Ben Albahari (O'Reilly; ISBN: 0596527578). Check it out today at your favorite bookstore. Buy this book now.
|
|