Под
C# обычно следует понимать
Visual C#, точнее
Microsoft Visual C#.
Microsoft Visual C# - реализация языка
C# компанией
Microsoft.
Наверное выглядит странно, учитывая что язык создан в
Microsoft для
Microsoft .NET Framework, но на данный момент есть две спецификации
C#:
ECMA-334,
ISO/IEC 23270:2006 (в чем разница, не имею представления).
Microsoft штампует новые версии
C# со страшной скоростью, и как следствие выпускает новые спецификации :-)
Из-за разных реализация
C#, стандартов, юридических проблем в языке появляются искажения и не стыковки. Например, при программировании под
Mono есть мелкие особенности, которые следует учитывать. А в целом,
C# - он один.