Не могу понять и определиться, какую книгу сейчас мне прочитать:
https://www.ozon.ru/context/detail/id/145563645/
или
https://www.ozon.ru/context/detail/id/148737535/
Потому что у 2-го варианта версия 4.0, а у 1-го - 7.0. Не будет ли это критичным в обучении из-за разности версий языка?
-
Эту https://www.ozon.ru/context/detail/id/145871271/?gclid=CjwKCAiAlajvBRB_EiwA4vAqiK-yj6w9Vo6JVlOZKhml9kN5uRCL2u9OEKhnwCTGCBUBz8ZZZTx_SxoC28sQAvD_BwE – Небывалый Dec 06 '19 at 17:32
-
2https://ru.stackoverflow.com/q/416584/178988 – Qwertiy Dec 06 '19 at 17:33
-
@Qwertiy, но там в рекомендациях стоит книга 4.0 версии, а вот комментарий ниже говорит, что это плохо. Тем более этому ответу 5 лет почти. – MALIS Dec 06 '19 at 18:03
-
Возьми c# 5-й, там уже async/await появился – Александр Dec 06 '19 at 21:20
-
Я начинал с Шилдта, затем прочитал Троелсена, а потом Рихтера. Имхо, Рихтер по интереснее читается. – iluxa1810 Dec 07 '19 at 10:53
2 Answers
Основы языка почти не менялись.
Да, есть прикольные фишки, которые появились в более новых версиях языка, но их изучение вполне можно начать уже обладая начальным уровнем знаний.
Единственное существенное отличие между версиями (которое я знаю) - это изменение поведения цикла foreach - в C# 5 переменная стала создаваться компилятором внутри блока, а не снаружи, что повлияло на её использование в замыканиях.
Так что основы языка вполне можно учить книге о любой версии, исключая, разве что, первую, потому что там не было генериков и linq; не помню, где точно появился var, но в 4й всё это уже точно было.
Впрочем, есть нюанс. Если в книге много внимания уделяется внутренней реализации .net'а, то эта реализация как раз могла поменяться, может даже несколько раз. Изучать устаревшую реализацию скорее всего бессмысленно, если упор делается на это, то лучше выбрать книгу поновее.
Так что, если есть какая-то точно хорошая книга по использованию (но не реализации) 4й версии, то вполне можно изучить её, а потом уже доучить новые фишки.
- 123,725
Не будет ли это критичным в обучении из-за разности версий языка?
Будет.
C# 4 давно устарел и сейчас встречается только в legacy проектах. Конечно, основные конструкции языка к выходу C# 4 уже сформировались, но очень многих полезных вещей, которые появились в более поздних версиях там нет. А, некоторые компоненты, которые широко использовались в 4й версии, если не ошибаюсь, и вовсе отсутствуют в .NET Core.
По возможности, лучше изучайте самую последнюю версию, по которой есть доступная литература.
- 11,734