Specification
Original: "C # Version 3.0 Specification", Microsoft
Translation: Lover_p
C # 3.0 (C # orcas--Devil) introduces a number of language extensions on the basis of C # 2.0 to support the creation and use of higher-level functional-style libraries. These extensions enable structured API constructs to have the same expressive power as query languages in other domains, such as relational databases and XML. These extensions include:
A local variable that has an implicit type that allows the type of the local variable to be inferred by an expression used for initialization.
Extension methods, which make it possible to extend and construct a type with additional methods to an existing type into reality.
Lambda (Lambda) expression, an evolution of anonymous methods, provides improved type inference and transformation for delegate types and expression trees.
Object initializers, making it easy to construct and initialize objects.
Anonymous type, inferred and created by the object initializer.
An array with an implicit type that infers the element type from the array initializer and creates and initializes the array.
query expressions, which provide an integrated query syntax, similar to relational, hierarchical query languages such as SQL and XQuery.
Expression tree, which allows lambda expressions to be represented as data (expression trees) rather than code (delegates).