C# это язык для платформы .net от Microsft. Первый релиз состоялся в 2002г. .Net и C# задумывали как конкурента для Java.
Чем же отличается от классического C++ ?
С++ нативный, т.е. программа на С++ компилируется сразу под конкретный процессор и ОС.
C# - компилируется в байт-код, который исполняется на виртуальной машине .net. Байт-код позволяет абстрагироваться от аппаратной платформы. Скомпилировал один раз - работает везде.
В C# .net автоматическое обслуживание памяти через сборщик мусора. Нет нужды заботится об освобождении памяти, это сделает сборщик мусора.
C++ ручное управление памятью, что требует от программиста большей внимательности и дисциплины.
C# основан на C++ и Java, взяв от них лучшее на мой взгляд, и не взял худшее.
А вообще каждому инструменту - своё место. C#, Java, C++ - у всех свои задачи в своих нишах.