ECMA-422 1st Edition / December 2022
C# Specification Suite
Reference number ECMA-123:2009
© Ecma International 2009
Contents
Page
1
Scope ...................................................................................................................................................... 1
2
Normative references ............................................................................................................................ 1
3 3.1 3.2
The C# language and library ................................................................................................................ 1 C# language specification .................................................................................................................... 1 C# library specification ......................................................................................................................... 1
© Ecma International 2022
i
Introduction C# is a widely used, general-purpose programming language. Essential components of a C# implementation are described in several individual standards, supplemented by a technical report. The C# Specification Suite is just a collection of those components, which are developed and maintained by Ecma International. The Suite defined by this specification aggregates these components via normative and informative references to the latest published Ecma International specifications. This has the advantage that an update of the Suite is only needed if there is a change (addition or deletion) in the set of components.
This Ecma Standard was developed by Technical Committee 49 and was adopted by the General Assembly of December 2022.
ii
© Ecma International 2022
COPYRIGHT NOTICE © 2022 Ecma International This document may be copied, published and distributed to others, and certain derivative works of it may be prepared, copied, published, and distributed, in whole or in part, provided that the above copyright notice and this Copyright License and Disclaimer are included on all such copies and derivative works. The only derivative works that are permissible under this Copyright License and Disclaimer are: (i)
works which incorporate all or portion of this document for the purpose of providing commentary or explanation (such as an annotated version of the document),
(ii) works which incorporate all or portion of this document for the purpose of incorporating features that provide accessibility, (iii) translations of this document into languages other than Eng lish and into different formats and (iv) works by making use of this specification in standard conformant products by implementing (e.g. by copy and paste wholly or partly) the functionality therein. However, the content of this document itself may not be modified in any way, including by removing the copyright notice or references to Ecma International, except as required to translate it into languages other than English or into a different format. The official version of an Ecma International document is the English language version on the Ecma International website. In the event of discrepancies between a translated version and the official version, the official version shall govern. The limited permissions granted above are perpetual and will not be revo ked by Ecma International or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
© Ecma International 2022
iii
iv
© Ecma International 2022
C# Specification Suite
1
Scope
This specification defines the C# programming language and its required library. It defines all the necessary components that are needed to implement this Suite. This Suite does not change if one or more components are updated by a new standard edition. The Suite changes only when new components are added to it and/or existing components are removed from it.
2
Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ECMA-334, C# language specification, https://www.ecma-international.org/publications-andstandards/standards/ecma-334/ ECMA-335, Common Language Infrastructure (CLI) : Partition IV: Profiles and Libraries, https://www.ecmainternational.org/publications-and-standards/standards/ecma-335/
3
The C# language and library
An implementation of C# consists of the C# programming language and its required library, and shall conform to ECMA-334, and the relevant parts of ECMA-335: Partition IV, respectively. The following Ecma Standards are part of the current C# Specification Suite: • •
3.1
ECMA-334, C# language specification ECMA-335, Common Language Infrastructure (CLI) : Partition IV: Profiles and Libraries
C# language specification
This component defines the syntax and semantics of the C# language and its pre-processing directives; optional features; and a library that shall be available for use by C# programs as they execute.
3.2
C# library specification
This component defines the syntax and semantics of a family of types usable from a C# program. As published, ECMA-335 contains more facilities than are required by a C# implementation. The subset of facilities that are required by C# are specified in the normative annex “Standard library” of ECMA-334.
© Ecma International 2022
1
2
© Ecma International 2022
Bibliography
[1]
ECMA TR/84, Common Language Infrastructure (CLI) - Information derived from Partition IV XML file, https://www.ecma-international.org/publications-and-standards/technical-reports/ecma-tr-84/
© Ecma International 2022
3
© Ecma International 2022