Future Versions : C# 3.0 (“C# Orcas”)

C# 3.0 Extension :

·         Implicitly typed local variables, which permit the type of local variables to be inferred from the expressions used to initialize them.

·         Extension methods, which make it possible to extend existing types and constructed types with additional methods.

·         Lambda expressions, an evolution of anonymous methods that provides improved type inference and conversions to both delegate types and expression trees.

·         Object initializers, which ease construction and initialization of objects.

·         Anonymous types, which are tuple types automatically inferred and created from object initializers.

·         Implicitly typed arrays, a form of array creation and initialization that infers the element type of the array from an array initializer.

·         Query expressions, which provide a language integrated syntax for queries that is similar to relational and hierarchical query languages such as SQL and XQuery.

·         Expression trees, which permit lambda expressions to be represented as data (expression trees) instead of as code (delegates).

C# 3.0 Language Specification
Read about the proposed changes to the C# language.

101 Sample LINQ Queries
See how LINQ is used when querying various data types with these sample queries.  

·  C# 3.0 LINQ in action

This video showcases the use of The LINQ Project with C# 3.0. In this video, LINQ is used to query in-memory data stores. If you would like to follow along, you should install the LINQ Technology Preview first.   

·  C# 3.0 XLinq in action

This video showcases the use of The LINQ Project with C# 3.0. In this video, LINQ is used to query XML files. If you would like to follow along, you should install the LINQ Technology Preview first.   

·  C# 3.0 DLinq in action

This video showcases the use of The LINQ Project with C# 3.0. In this video, LINQ is used to query relational databases. If you would like to follow along, you should install the LINQ Technology Preview first.

 

C# Language Specifications 

 

C# Language Specification 2.0, March 2005 Draft
This document describes the new features of the C# language, including Generics, Anonymous Methods, and Partial Types. Please note that this is a draft document intended to give you a preview of the "Whidbey" release of the C# language.   


 

C# Language Working Draft 2.7, June 2004 (PDF)
In January, 2003, Ecma Technical Committee TC39, Task Group 2 (TG2) started work on a revision of the C# standard. When TG2 has completed this specification, it will be submitted to the Ecma General Assembly (GA) for consideration as an Ecma standard. Once it has been adopted as such, the specification will be submitted to ISO/IEC JTC 1 via the latter's Fast-Track process. The first ISO/IEC standard for C# was published in April, 2003, and is known formally as ISO/IEC 23270 (C#). An equivalent specification was adopted as a 2nd edition standard by Ecma at its December, 2002, General Assembly. Posted here is a snapshot of TG2's work to date. TG2 is providing this working document to the public for informational purposes only. The contents are subject to change. To participate in the standardization process, contact your organization's Ecma representative. If your company does not currently participate in Ecma and wishes to do so, please contact Ecma (http://www.ecma-international.org) directly.   


 

C# Language Specification 1.2
This document describes the C# language in detail and is intended to be correct for the 7.1 version of the C# compiler.   


 

C# Language Specification 1.0
This document describes the C# 1.0 language in detail. The ISO/IEC 32270:2003 and ECMA-334 (2nd Edition - December 2002) C# standards are based on the 1.0 version of the C# specification.   


C# Language References

 

C# Language Specification
Describes the syntax, semantics, and design of the C# programming language   


 

C# Grammar
Contains summaries of the lexical and syntactic grammars of the C# programming language   


 

C# Keywords
Keywords are predefined reserved identifiers that have special meanings to the compiler. They cannot be used as identifiers in your program unless they include @ as a prefix. For example, @if is a legal identifier but if is not because it is a keyword.   


 

C# Operators
C# provides a large set of operators, which are symbols that specify which operations to perform in an expression. C# predefines the usual arithmetic and logical operators, as well as a variety of others. In addition, many operators can be overloaded by the user, thus changing their meaning when applied to a user-defined type.   


 

C# Attributes
Get an introduction to attributes and descriptions of the AttributeUsage, Conditional and the Obsolete reserved attributes.   


 

C# Preprocessor Directives
Learn about C#'s conditional compilation directives.   


 

C# Language Features
Learn about arrays, Main method, properties, indexers, passing parameters, and other language features   


 

C# Language Tutorials
The C# tutorials provide an overview of the basics of the language and identify important language features. Each tutorial includes one or more sample programs. The tutorials discuss the sample code plus provide additional background information. They also link to the corresponding sample abstract topics, where you can download and run the sample programs.   

C# General FAQ
C# Language and Compiler FAQ
C# Debugger and Debugging FAQ
C# IDE FAQ
C# FAQ

 

Cheers C# 3.0

Suresh Behera

 

No Comments