Подтвердить что ты не робот

С# - Что я пропущу, если я начну с .NET 2.0?

У меня есть книга под названием "Pro С# 2005 и платформа .NET 2.0, третье издание от Andrew Troelsen". Мне интересно, стоит ли покупать "Pro С# 2010" и "Платформа .NET 4, пятое издание". Поскольку последняя версия .NET равна 4.0. Если я изучу С# на основе этой старой книги, пропущу некоторые критические части языка С#? Или я могу начать с этой книги и изучить новые возможности .NET 4.0 с другими ресурсами.

Спасибо

4b9b3361

Ответ 1

Вы можете начать с этой книги и изучить С# 4.0 в другом месте. Это то, что было добавлено после С# 2.0:

С# 3.0:

  • LINQ
  • лямбды
  • методы расширения
  • деревья выражений
  • анонимные типы
  • вывод локального типа
  • автоматические свойства
  • инициализаторы объектов
  • инициализаторы коллекции
  • частичные методы

С# 4.0

  • поиск динамического элемента
  • ковариантные и контравариантные параметры типового типа
  • необязательные параметры и именованные аргументы
  • распараллеливание (фактически часть .NET 4, а не С# 4.0 как таковая)

Ответ 2

Вы пропустите много. Наиболее заметно, на мой взгляд, Linq. Linq меняет все лицо идиоматического С# настолько, что я не мог рекомендовать начать со старой книги.

Ответ 3

Я думаю, что вы проиграете LINQ, что вполне примечательно. Если вы открыты для других рекомендаций, я бы сказал, попробуйте Jon Skeet С# In Depth. Он дает очень хорошее освещение различных изменений в языке с версий 2.0 до 4.0 (я приобрел раннюю версию доступа).

Ответ 4

Lambdas/LINQ довольно огромны.

Ответ 5

С# 2 имеет дженерики, и это хорошо, но С# 3 и 4 имеют LINQ и динамическое типирование, соответственно, оба из которых очень мощные в своей среде.

И это просто назвать два. Там больше дерьма, который вам не хватает.

Если вы можете, всегда развивайтесь против последней версии.

Ответ 6

Вы можете начать с С# 2.0 и изучить основы. В С# 4.0 есть много замечательных новых функций, но многие из них продвинуты или называются "синтаксическим сахаром", что означает более строгий способ написания чего-то, что вы уже можете сделать с С# 2.0.

Есть много разных сообщений о новых возможностях, которые вы можете ссылаться, не покупая полную книгу:

http://www.15seconds.com/issue/080228.htm http://code.msdn.microsoft.com/cs2010samples

Я бы рекомендовал не тратить деньги на фронт и проверить, что может предложить interweb.

Ответ 7

Я думаю, что вы не пропустите ничего. У меня есть все три (3-й, 4-й и 5-й) выпуски, и мне нравится стиль троллейна. Лично я думаю, что 2.0 "является" правильной версией С# для начала. От 3.0, наряду с некоторыми действительно мощными вещами, было добавлено множество функций, которые являются ничем иным, как "синтаксическими сахарами" и "тайм-аутами", и они просто путают начинающих, таких как U LOT, доверяйте мне об этом.
 Здесь вам нужно будет задать гораздо больше вопросов, например: "Я использую конструкторы или инициализаторы объектов". Так что, если вы сначала изучите основной язык (не обновляете ур с ним), начните с 2.0, то есть MAJOR-выпуск языка... & как и вы сказали, вы всегда можете вводить новые функции из других ресурсов.

Ответ 8

Я бы не рекомендовал вам начинать изучение С# с такой старой версией.

Если у вас есть деньги, чтобы купить новое издание, вы должны пойти на это. С момента .net 2.0 было много изменений.

Если вы покупаете новую книгу, в данный момент вам это не представляется возможным, вы можете начать изучать основные материалы из этой книги и изучать новые функции из онлайн-ресурсов.

Ответ 9

Вы пропустили бы большинство новых технологий. 3.0 представил WPF, WCF и WF 3.5 дал нам LINQ и другие связанные с ними методы, такие как лямбда-выражения, методы расширения... 4.0 принесли DLR для динамического ввода.

Полное резюме новых функций можно найти на wikipedia.

Ответ 10

LINQ - это далеко не все, что вы пропустите. Многие технологии, которые были добавлены в версии 3.0 с помощью LINQ (и в значительной степени из-за этого), стоят на своих собственных достоинствах и очень полезны для принятия последней версии.

  • Лямбда
  • Анонимные методы (возможно, были 2.0, не могут запомнить на данный момент)
  • Тип вывода
  • Динамические типы в 4.0
  • Множество новых классов и улучшений

Я думаю, что вы можете сделать себе плохую услугу, если будете калечить себя 2.0, если вам это действительно не нужно. Рамка, в конце концов, бесплатна, а также онлайн-документация. Кроме того, онлайн-уроки изобилуют, и у вас есть богатый ресурс для программирования рекомендаций прямо здесь, в StackOverflow.

Ответ 11

MSDN имеет полезный набор страниц (начало здесь), которые расскажут вам, что именно вы будете пропускать, когда вы нацелитесь на более старые версии С# и .Net Framework.

Помните, когда вы нацеливаете версию С#, вы не просто привязываете себя к языку, но и соответствуете .Net Framework - в 2008 году есть целая куча новых вещей, а затем снова в 2010 году, когда вы пропустите, пройдя .Net 2.0.

Ответ 12

Основные вещи, которые вы хотите знать о том, что появились с 2.0, включают:

  • Linq (мощный язык запросов, проверенный компилятором, используемый для обработки списка/набора и как интерфейс к структурам ORM).
  • Анонимные типы и делегаты (лямбда-выражения). Вам нужно сохранить список некоторых полей данных, которые вы получили из выражения Linq, но не нужно или хотите определить совершенно новый тип только для их хранения? Тебе больше не нужно. Аналогично, если вам нужно что-то сделать для каждого элемента списка или указать некоторую операцию для возврата результата, но не хотите определять именованный метод, вам не нужно. С# позволяет указать "анонимные" типы и делегаты, которые определены там, где они используются, и доступны только через переменную, содержащую делегат или ссылку на данные.
  • WPF (следующее поколение разработки пользовательского интерфейса, это определение макета презентации на основе XML, которое будет EVENTUALLY заменять WinForms и ASP.NET).
  • WCF - следующее поколение классов веб-сервисов, поддерживающее встроенные функции безопасности, такие как шифрование.
  • Microsoft Entity Framework - Microsoft использует фреймворки ORM, такие как NHibernate
  • Динамическая типизация - С# 4.0 допускает ограничения типа ограничения, определяя типы или параметры как dynamic. Это позволяет .NET более легко взаимодействовать с сборками или собственными API-интерфейсами, написанными на языках "утиного типа" (где тип всегда динамический, выведенный из того, что вы пытаетесь сделать с экземпляром).
  • Улучшенная поддержка ковариации/контравариантности -.NET 4.0 позволяет указать, что коллекции типа могут обрабатываться так, как если бы они были набором производного типа или типа предка.

Ответ 13

Версии .Net все в основном похожи, но единственное, что вы можете почерпнуть, начиная с 2.0, - это получить историю того, откуда появились определенные изменения в языках. Тем не менее, это скорее вещь опыта. Если вы еще не прошли обучение на С#, лучше начать работу с самого последнего. Основы языка все равно будут одинаковыми. Вы также узнаете новейшие методы решения общих задач, а не изучаете устаревший метод, а затем должны переучивать его позже и попытаться понять различия и почему он существует в первую очередь.

Начните с новейших материалов. Не учитесь у устаревших источников, а затем старайтесь заполнить пробелы посторонней информацией.

Ответ 14

Технологии программирования меняются так быстро, как это было, почему вы потратили время на чтение такой старой книги? Я бы получил самый новый.

Ответ 15

Как и вышеупомянутые Linq/lambdas и т.д., более поздние книги будут также охватывать такие технологии, как WPF, который в значительной степени заменил winforms для разработки настольных систем, и WCF, который теперь является общим методом связи, поэтому я бы попытался получить более поздняя книга.