Кроссплатформенная разработка. Да, Mono существует, и Java несколько более предсказуемый, чтобы он функционировал точно так же на большем количестве платформ, вы можете найти компилятор C / C ++ практически для любой платформы, где вы не можете с C #.
Также ссылки на сторонние библиотеки, хотя я уверен, что есть способ использовать их в C #, вы сможете использовать их без взаимодействия (Marshaling и т. Д.) В C ++.
Редактировать: еще одна вещь: НАДЕЖНОЕ управление памятью. Да, вы можете использовать dispose()
и try-finally
, но нет ничего лучше, чем ЗНАТЬ, что память исчезает, когда она извлекается из стека. С помощью таких методов, как RAII, когда вы используете хорошо сконструированные классы, вы будете ЗНАТЬ, когда ваши классы высвобождают ресурсы, и не будут ждать, пока произойдет GC.