I have started learning C# and was looking for a standard specification, but found that C# versions greater than 2.0 were not standardized by ISO or ECMA (or so I gathered from Wikipedia). Is there any reason for this?
Because writing, reviewing, validating, publishing, processing feedback, revising, re-publishing etc complex specification documents takes significant time and effort, which is a finite resource - and the demand for an ISO / ECMA version of the specification hasn't been sufficient to prompt Microsoft into investing that time.
The non-Microsoft compiler authors (Mono etc) seem to be doing just fine without it.
Anecdotally, it also avoids the problem where 2 specifications say different conflicting things (which can happen, and has happened).
来源:https://stackoverflow.com/questions/16917453/why-is-there-no-iso-or-ecma-standardization-for-c-sharp-later-than-2-0