C# standard specification

The C# language specification is the definitive source for the C# language. The C# standard committee (TC49-TG2) produces the specification. The committee is currently finishing the work for version 7.3. The committee uses feature speclets and language design meeting (LDM) notes to produce the specification.

This section contains the latest draft of the C# language specification. The latest working draft is published here before being submitted to ECMA for approval. The committee works in the dotnet/csharpstandard repository. You can track the committee's progress and participate in the standard work there.

Because the committee has fallen behind the latest implementation, this section also contains the feature specifications for those newer features that haven't been incorporated into the standard yet. You can read those specifications to get information on newer features. The feature specifications are proposals for the design. The C# language design team and compiler team produce these feature specifications. The purpose of the proposals was to guide the design and implementation of the feature. They may include proposed features that haven't yet been implemented. The actual implementation may have been modified while implementing the feature. Those changes are captured in the LDM notes. The LDM notes are the minutes of the language design meetings. In most cases, the pertinent LDM notes are linked from the feature specifications.

As the committee works on newer versions, the feature specifications are removed from this site, and those links are redirected to the updated sections of the standard. In the meantime, the feature specifications represent the best information on those features.