Overview
ISO/IEC 23270:2018 - "Information technology - Programming languages - C#" is the authoritative international specification that defines the form, syntax, semantics and conformance rules for programs written in the C# programming language. The third edition (2018) documents lexical structure, grammars, type systems, execution behavior and the constraints that a conforming implementation must observe. It does not describe platform-specific transformation, application invocation, input/output processing, system capacity limits or minimal hardware requirements.
Key topics and technical scope
This standard is a comprehensive language definition focused on precise interpretation and conformance. Major technical topics include:
- Lexical structure and tokens: program form, line terminators, comments, white space, identifiers, keywords and literal forms (integers, reals, strings, chars, booleans, null).
- Grammar and parsing: lexical and syntactic grammar notation, ambiguity handling and lexical analysis rules.
- Pre-processing directives: conditional compilation symbols, directives, diagnostic/pragma/region/line directives.
- Core language concepts: declarations, members, scopes, name hiding, signatures and overloading, access control and accessibility domains.
- Types and semantics: reference types (classes, interfaces, arrays, delegates, string, dynamic), value types (structs, simple, integral, floating-point, decimal, bool), nullable types, boxing/unboxing and constructed/generic types.
- Variables and storage: variable categories (static, instance, parameters, array elements), default initialization and lifetime.
- Runtime behavior: automatic memory management, application start/termination semantics, execution order and conformance requirements.
- Conformance and constraints: definition of what constitutes a conforming implementation and language restrictions.
Practical applications
ISO/IEC 23270:2018 is the definitive reference for anyone needing an exact, unambiguous description of C# language behavior. Typical uses:
- Compiler and runtime implementers - ensure conformity with C# syntax, semantics and conformance rules.
- Tooling creators - build linters, static analyzers, formatters, IDE language services and code generators that rely on precise language specs.
- Quality assurance & security teams - validate language feature behavior and detect ambiguous or non-conforming implementations.
- Educators and authors - teach language fundamentals using the official language definition.
- Standards and compliance auditors - certify implementations and interpret language requirements.
Related standards
- Complementary language and platform specifications (other ISO/IEC or ECMA language standards) and platform-specific runtime documentation may be consulted for implementation details not covered by ISO/IEC 23270:2018 (for example, binary transformation, invocation and I/O mechanisms).
Keywords: ISO/IEC 23270:2018, C# standard, C# language specification, programming languages, C# syntax, C# semantics, compiler conformance, lexical grammar, types, automatic memory management.