C# Language Specifications
The C# language has two major sources of specifications: ECMA and Microsoft. The ECMA specification only goes as far as C# 2.0, even though it's the fourth edition, confusingly enough. This page is a collection of all the versions I've found - but it's quite possible that some will move around, so please let me know if you have any problems, or find any more.
Microsoft specifications
- C# 5.0 (2012; Word document)
- C# 4.0 (2010; Word document)
- C# 3.0 (unified, 2007; Word document)
- C# 2.0 (September 2005; Word document)
- C# 1.2 (2003; Word document)
- C# 1.0 (2002; Word document)
Visual Studio also includes copies of the specification. Look under your installation directory for a directory structure of "VC#\Specifications\1033".
I can strongly recommend the hard-copy annotated version of the C# 4 specification - I have two copies (one at work and one at home) and I find them very useful. The annotations are really helpful, above and beyond just having a physical version of the specification.
ECMA specifications
- Latest contents: - Fourth edition (June 2006; PDF)
-
Archives of old editions:
- Third edition (June 2005; PDF)
- Second edition (December 2002; PDF)
- First edition (December 2001; PDF)
Annotated specifications
Both the ECMA and Microsoft teams have produced annotated specifications, with interesting comments from the design team and some members of the community. I can thoroughly recommend them as providing extra insight. (Disclaimer: I contributed annotations to the ECMA C# 2 and Microsoft C# 4 specs.)