Обучение С# после С++

В прогрессировании языков я изучаю C и С++. Теперь я хотел бы изучить С#. Я знаю, что между ними существуют серьезные различия - например, удаление указателей и сбор мусора. Тем не менее, я не знаю многих различий между ними.

Каковы основные отличия, которые программист С++ должен знать при переходе на С#? (Например, что я могу использовать вместо STL, синтаксические различия между ними или что-то еще, что может считаться важным.)

Ответы

Ответ 1

С# для разработчиков С++ - отличное место для начала. Это таблица, в которой перечислены наиболее важные сравнения между двумя языками.

Как только вы изучите некоторые из этих различий, вы можете выбрать автономный проект, который вы написали ранее на С++, и переписать его на С#. На первом проходе вы, вероятно, просто закончите перевод напрямую, используя тот же дизайн и алгоритмы. По мере того, как вы становитесь более комфортно с С#, вы узнаете, как использовать возможности языка, доступные только на С#, а также невероятно универсальную .NET Framework.

Ответ 2

Я думаю, важно отметить, что указатели на самом деле не были удалены из С#, но они все еще существуют, они повсюду, и они называются ссылками.

Ответ 3

У Charles Petzold есть .NET Book Zero, который разработан специально для программиста на C/С++, который хочет изучить С# и .NET. Это бесплатный PDF файл с его сайта. Весь исходный код, используемый в книге, доступен в виде отдельной загрузки Zip файла.

Ответ 5

Посмотрите на общие коллекции и LINQ (все связанные технологии с LINQ) для функций типа STL.

Следует отметить, что ~/Destructor - это С++, не похоже на ~/finalizer в С#. См. IDisposable/using.