Specification and Implementation Problems for C#

During the attempts to build an Abstract State Machine (ASM) model for the semantics of C# programs, we tried to directly and faithfully reflect the intuitions and design decisions which are expressed in the C# Language Specification. This work and the comparison between the corresponding ASM models for C# and Java brought to light a few gaps and mistakes in the C# reference manual, inconsistencies with different implementations of C#. Some of these critical cases (especially the gaps) will be fully and correctly specified here by ASM rules of the model for C#.