Lab 1: C# 3.0 Language EnhancementsThe C# 3.0 language enhancements build on C# 2.0 to increase developer productivity: they make written code more concise and make working with data as easy as working with objects. These features provide the foundation for the LINQ project, a general purpose declarative query facility that can be applied to in-memory collections and data stored in external sources such as XML files and relational databases.
The C# 3.0 language enhancements consist of:
· Auto-implemented properties, which automate the process of creating properties with trivial implementations.
· Implicitly typed local variables, which permit the type of local variables to be inferred from the expressions used to initialize them.
· Implicitly typed arrays, a form of array creation and initialization that infers the element type of the array from an array initializer.
· Extension methods, which make it possible to extend existing types and constructed types with additional methods.
· Lambda expressions, an evolution of anonymous methods that concisely improves type inference and conversions to both delegate types and expression trees.
· Expression trees, which permit lambda expressions to be represented as data (expression trees) instead of as code (delegates).
· Object and collection initializers, which you can use to conveniently specify values for one or more fields or properties for a newly created object, combining creation and initialization into a single step.
· Query expressions, which provide a language-integrated syntax for queries that is similar to relational and hierarchical query languages such as SQL and XQuery.
· Anonymous types, which are tuple types automatically inferred and created from object initializers.
Date: 2015-02-03; view: 664
|