Сам C # - это спецификация, указанная в ECMA , которая «определяет форму и устанавливает интерпретацию программ, написанных на языке программирования C #». как CLR . Самая популярная реализация этого в настоящее время предоставляется Microsoft, которая является C # .net, которую вы знаете. C # и CLR являются открытыми стандартами, что означает, что каждый может реализовать их самостоятельно, что означает формирование mono, компилятора C # для mac / linux. Сравните это с Java, единственная реализация которого обеспечивается Sun. Это не открытый стандарт, поэтому вы не можете создавать свои собственные реализации.
из википедии :
Mono"Кроссплатформенная реализация с открытым исходным кодом, реализация C # и CLR, двоично совместимый с Microsoft.NET"
DotGNU"является частью проекта GNU, целью которого является предоставление бесплатной замены программного обеспечения для Microsoft .NET Framework"
Dot Net Anywhere - это интерпретатор .net CIL для нацеливания на встроенные системы.