Ответ 1
Чарльз Петцольд: .NET book zero
У меня есть 6+ лет опыта работы на C/С++. Завтра начинается университетское задание, где мне придется использовать С#. Поэтому я хотел бы иметь список ссылок/ресурсов, которые, по вашему мнению, важны или обширный учебник - вкратце все, что вы считаете достойным.
Стиль кодирования, лучшие практики,...
(Я не знаю каких-либо особенностей среды С#, которую я буду использовать (IDE, ОС, w/e), первая встреча - завтра вечером).
(Я никогда раньше не кодировал С#)
Еще одна вещь: я хотел бы работать с Linux (kubuntu 10.4). Рекомендации IDE/среды/учебника относительно Linux особенно приветствуются.
Спасибо за вашу помощь!
Чарльз Петцольд: .NET book zero
Краткое введение в синтаксис + основы языка.
Очевидная ссылка на обзор платформы:)
Рекомендации, обсуждаемые здесь, на SO
Лучше читать книги, конечно, когда доступно достаточное количество времени. Я лично начал изучать С#, читая Pro С# 2008 и платформу .NET 3.5
P.S. Если вы хотите использовать Linux, здесь вы идете:
Когда я переключился с C/С++ на .NET, я нашел Чарльза Петцольда бесплатным PDF очень полезным.
В основном есть один редактор для С#, который используется, по-моему, 80% разработчиков С#, Visual Studio.
Начать загрузку/загрузку. У вас есть экспресс-издание, которое бесплатно и предназначено для личного использования. Это просто простая среда разработки, в которой нет ничего необычного. Если у вас есть несколько долларов, чтобы потратить (или получить его через университет), перейдите к более продвинутой версии VS, например, к профессиональной или командной системе. Оба включают конструкторы форм и гораздо более продвинутые возможности.
Так много для IDE.
Я думаю, если вы перейдете от С++ к С#, самой большой "проблемой" будет использование существующих функций в .NET framework вместо того, чтобы делать это самостоятельно. Это то, что я часто вижу, когда люди переходят с С++ (даже с boost) на .net. Структура настолько велика и содержит почти все, поэтому каждый раз, когда вы обнаруживаете, что пишете какое-то дополнительное. класс, который не является доменом, поиск в руководстве, если что-то подобное не существует. Скорее всего, они находятся в рамках.
И, наконец, научитесь использовать лямбда, вы будете так им пользоваться! Это единственное значение, которое С++ не поддерживает сам по себе. Все расширения, такие как boost, которые добавляют лямбда, сложны и далеки от элегантности, что обычно не стоит использовать.
Я бы начал с двух книг:
30-дневный трейлер Safari Books Online предоставит вам доступ к ним до тех пор, пока вы не решите, если они вас устраивают).
Сначала все внимание сосредоточено на # 1.
Когда я узнал С# 1 (хотя .NET 1.0 в течение нескольких часов с "С# Essentials", мне просто нужно было что-то показать синтаксис и семантику, поскольку я уже знал, как программировать.
Статьи:
Что вам нужно знать, чтобы перейти от С++ к С#
Чарльз Петцольд Pdf
Стандарт кодирования С#\Лучшие практики
Книги:
С# 3.0 в двух словах
Обзор книги Джона Скита
Удачи:)!
Если вы можете написать С++, вы можете написать С# с минимальными усилиями. Но язык С# - очень небольшая часть того, чтобы быть разработчиком .NET, это опыт работы с .NET Framework, который вам не хватит в течение некоторого времени. И базовая библиотека классов имеет небольшое общее ядро и несколько почти полностью различных наборов инструментов (WinForms, ASP.NET, WPF, WSDL + WCF, Workflow Foundation), возможно, что очень опытный разработчик С# почти ничего не знает о некоторых из этих специальностей.
Пока вы не узнаете, какая у вас задача, мы не будем знать, в какой из этих областей вам нужно ознакомиться и не может дать очень много указателей.
Вероятно, вам будет полезно обратиться к "Альтернативному управляемому API" на pinvoke.net для всех видов встроенных функций Windows.