Лучшие актуальные шпаргалки по C# на все случаи жизни


Оглавление (нажмите, чтобы открыть):

Лучшие актуальные шпаргалки по C# на все случаи жизни

Занимаясь изучением LINQ (Language Integrated Query) я задался вопросом есть ли хорошие шпаргалки (Cheat Sheets) по этой технологии, так как считаю их хорошим способом получения и систематизации самых необходимых знаний и практических приемов. Оказалось что таких шпаргалок существует целое множество. В этой заметке приведу те, которые отобрал для собственного использования.

Качественной шпаргалкой является шпаргалка по LINQ To SQL, сделанная для C# и VB в одном документе:

Также очень хорошей шпаргалкой по стандартным операторам запросов, которые, как утверждает автор, имеют больший смысл для C# разработчика, чем SQL-подобные выражения запросов:

И еще хочу привести одну очень интересную шпаргалку, где автор в двух колонках таблицы предоставляет решение стандартных задач средствами «синтаксиса запросов» и «синтаксиса лямбда выражений»:

Топ 10 лучших шпаргалок

Каждый или почти каждый человек, учившийся в школе и университете, имел дело со шпаргалками. Маленькие скомканные бумажки, «гармошки», классические записи ручкой на руке – все это варианты хорошо знакомые не только учащимся, но и успешно выявляемые при желании преподавателями и учителями. Даже поверхностное знакомство с опытом использования шпаргалок показывает, что по-настоящему оригинальных, незаметных, необычайно хитрых и оттого высокоэффективных шпаргалок было придумано не так много. Но те, что были, стали не просто экспонатами, но и поводом для гордости в музеях многих учебных центров. Как и везде, в области хитроумного списывания есть свои классики. И пусть история не знает их имен, но дело их живет.

Открытый образовательный портал 4brain.ru подготовил рейтинг самых лучших и оригинальных шпаргалок, когда-либо успешно применявшихся для списывания. Критериями были не только креативность, но и эффективность, возможность применения, удобство использования.

10. Нательные записи

Казалось бы, что может быть проще самой банальной записи формулы на руке. Все так делали и удивлять здесь нечем. Но это только на первый взгляд, ведь знакомство с разновидностями таких шпаргалок еще раз подтверждает давнишнее наблюдение о том, что все гениальное – просто. Например, приходило ли вам в голову записать «шпору» между пальцами или нужные формулы мелким почерком на подушечках?

Поистине безграничные возможности открываются перед девочками, учитывая особенности их гардероба. Все видели картинки с исписанными сплошным синим текстом, который скрывается под юбкой, ногами. Более современный вариант, так сказать, ноу-хау последнего времени – маникюр со шпаргалками. Одним словом, поле для творчества есть, нужно осваивать.

Плюсы: несложно пронести с собой, легко спрятать, высокая вероятность списать.

Минусы: можно навредить коже, «материал» для написания ограничен, меньше подходит парням.

9. Невидимая «бомба»

«Бомбой» называется шпаргалка с заранее приготовленными ответами на вопросы, которая непосредственно на экзамене или контрольной сдается в качестве своей работы.

Методик как сделать такую «шпору» невидимой несколько. Например, текст заранее пишется закончившейся шариковой ручкой, а на экзамене просто обводится. Еще вариант: писать ответы, подложив снизу чистый лист и сильно надавливать при этом на ручку, позже обвести.

Плюсы: высокая эффективность.

Минусы: воспользоваться можно лишь в случаях, когда известны все вопросы билета; трудно применить в случае написания работы на листах с гербовой печатью.

8. Игра в прятки

Порой пронести шпаргалку незамеченной гораздо труднее, чем списать с нее: личные вещи просят оставить в одном месте, телефоны отключить и сложить на первой парте и т.д. В таком случае на помощь приходит довольно оригинальный способ спрятать шпаргалку в каблуке обуви. Это конечно не гарантирует, что, в конечном счете, списать все же удастся, но вселяет некий оптимизм в собственных силах и изобретательности. Из этого же списка совет написать «шпору» на подошве обуви, если материал и цвет позволяют.

Плюсы: пронести шпаргалку точно удастся.

Минусы: по неумелости можно испортить обувь, не совсем удобно доставать.

7. Шпионские страсти

В этом тематическом блоке мы объединили несколько способов списывания с помощью технических устройств, которыми еще 10 лет назад пользовались только герои популярных телевизионных саг о шпионах. Сегодня же нижеперечисленными средствами никого не удивишь.

В предыдущих наших статьях мы уже упоминали о списывании с помощью маленького микронаушника. Последнее время набирают популярность и другие виды. Так наиболее простым (и наиболее дешевым) в данном отношении является ручка с невидимыми чернилами. Написанное ею через минуту пропадает, а увидеть текст можно только посветив на него специальным фонариком, который, как правило, находится на другом конце ручки.

С микронаушником и телефоном посредством технологии Bluetooth можно соединить еще один полезный гаджет – GPS-ручку, которая имеет встроенный микрофон (это дает возможность сообщить другу свои вопросы, а потом через наушник слушать ответы). Многие современные органайзеры, внешне ничем не отличаются от калькулятора, который разрешен к использованию. В их память можно ввести значительные объемы информации и практически «легально» использовать.

Плюсы: высокая вероятность остаться незамеченным, эффективность, возможность работать с огромными базами данных.

Минусы: дороговизна, технические сбои, не повсеместная возможность применения.

6. Мини-шпаргалка

Во время многочисленных интервью с преподавателями и учителями относительно списывания, они довольно часто рассказывают о настолько маленьких шпаргалках, спрятанных в таких непредсказуемых местах, что поневоле восхищаешься. Нередки случаи написания томика шпаргалок с последующим их скрытием под видом женского перстня. Для этого сверху, в качестве обложки, применяется какой-нибудь популярный принт, из-за чего кольцо выглядит как украшение. Самому сделать такое довольно сложно (хотя и есть пошаговые инструкции), поэтому можно купить сразу готовый вариант.

(как сделать мини-шпаргалку самостоятельно)

Еще большим проявлением хитроумия было решение сделать небольшой фолиант с подсказками из обычного ластика. Автор этой шпаргалки в стирательной резинке аккуратно по периметру вырезал своеобразный желоб. В получившееся отверстие было вложено маленькую многостраничную «шпору», верхняя страничка которой была по цвету под стать ластику.

Плюсы: преимущество 2в1 – и шпаргалка, и способ ее спрятать одновременно.

Минусы: тяжело сделать, маленький размер шпаргалок.


5. Канцелярские принадлежности

Вот где место для фантазии. Помимо уже знакомой многим ручки, из которой достается шпаргалка, существует множество способов либо сделать подсказку из того, что официально не запрещено использовать (нацарапать на линейке формулы, к примеру), либо спрятать бумажную «шпору» в канцелярских принадлежностях (например, в пустом тубусе от маркера).

Но поражает другая история. Все знают сказ о народном умельце Левше, который сумел подковать блоху. Бесспорно, работа филигранная. Вот и неизвестный автор, воодушевившись столь ценным примером, во время подготовки к экзамену сумел нацарапать на обычном карандаше решение 10 разных задач! В конечном итоге преподаватель это заметил, но столь кропотный, титанический труд вызвал восторг, а не гнев, и работа была вознаграждена оценкой «отлично».

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

Минусы: трудоемкий процесс изготовления, ограничено место для шпаргалки.

4. Умные часы

Об этом техническом устройстве мы решили рассказать отдельно по ряду причин. Во-первых, чтобы еще раз отдать должное эпохе высоких технологий и ее влиянию на все сферы нашей жизни, включая списывание. Во-вторых, умные часы (англ. smart watch) являются предметом с которым многие, включая экзаменаторов, еще не знакомы. Грамотное использование такого предмета в качестве шпаргалки, с высокой долей вероятности гарантирует успешную сдачу.

Технически данный аксессуар предназначен для удобства доступа к некоторым функциям современных смартфонов. Наиболее важной с точки зрения интересующей нас тематики является возможность работать с сообщениями и соцсетями. Как видно, списать в таком случае – дело техники. Спрятать «шпору» также очень легко, одно нажатие и на дисплее этого устройства будет отображаться часовой циферблат.

Существуют и мобильные телефоны в форме наручных часов. Здесь набор функций еще больше, что создает дополнительные возможности для списывания.

Плюсы: эффективность, все преимущества технических шпаргалок, внешний вид, не вызывающий вопросов у преподавателя.

Минусы: стоимость, работают в синхронизации с современными мобильными устройствами.

3. Ручка с ответами

Под означенным заголовком скрывается довольно любопытный единичный случай, который мы, исходя из его уникальности, решили вынести отдельным пунктом и тем самым воздать должное человеческой изобретательности и находчивости.

На одном из экзаменов, двое молодых людей решили списать довольно оригинальным способом. Они купили 60 одинаковых шариковых ручек, на их колпачках написали номера билетов, а на самих ручках нацарапали ответы на вопросы. Все что требовалось дальше – иметь хорошее зрение и достать нужную ручку с рюкзака. Казалось бы, идея не новая, но ее практическая реализация и требуемая усидчивость, как минимум, заслуживают высокой оценки.

Плюсы: эффективность, незаметность.

2. Бутылка газировки

В свое время такая шпаргалка заняла почетное место в одном университетском музее в Германии. Действительно, у человека, который первым изготовил подобного рода подсказку, с выдумкой все было в порядке. Суть идеи заключалась в том, что текст на этикетке бутылки «Кока-колы», где указывается состав и прочая техническая информация, был с помощью графического редактора заменен на шпаргалку по нужной теме. Можем лишь догадываться, но вряд ли экзаменатор догадался бы искать шпаргалку на мирно стоящей на парте бутылке газировки.

К слову, сделать такую шпаргалку не так уж сложно. Смотрим инструкцию здесь и уповаем на то, что ее не видел ваш преподаватель.

Плюсы: оригинальность, а следовательно эффективность, легально можно взять с собой на экзамен, не вызвав подозрений.

Минусы: ограниченность пространства для нанесения шпаргалки.

Итак, мы подошли к первой позиции. Но чтобы сохранить еще ненадолго интригу, рекомендуем вам посмотреть это видео, в котором показаны некоторые из уже описанных оригинальных шпаргалок, а также собраны другие не менее интересные экземпляры.

1. Собственные знания

Как ни крути, а это правда. Отбросив все нравоучения и философские диспуты, реально посмотрев на вещи и оценив все за и против, бесспорно можно утверждать, что даже самая лучшая и оригинальная шпаргалка в долгосрочной перспективе не заменит хорошей подготовки. Да это трудно, а порой, кажется, что и невозможно. Важно всегда помнить, что шпаргалка призвана помочь в подготовке, но никак не заменить ее. Облегчить учебу, кстати, призваны тренинги по скорочтению и развитию памяти, а также другие материалы, размещенные у нас на сайте.

Желаем вам успехов во время сдачи экзаменов!

Отзывы и комментарии

Оценить материал, а также поделиться собственными идеями и знаниями в области изготовления и применения оригинальных шпаргалок, можно путем написания комментария в специальной форме ниже.

10 полезных вещей в C#, которые облегчат вам жизнь

Если вы начинаете знакомство с С# или хотите расширить свои познания, вам стоит изучить эти полезные особенности языка, которые помогут вам упростить код, избежать ошибок и сэкономить кучу времени.

async или await

Используйте возможности асинхронного программирования для того, чтобы разблокировать возможности одного потока, пока ожидается завершение другого. Например: если происходит медленный веб-запрос, то при синхронном программировании незанятый поток будет простаивать, пока веб-запрос не будет выполнен. Асинхронное программирование при помощи модификатора async позволяет избежать этого. Также полезным является использование async вместе с оператором await , который приостанавливает выполнение потока, пока не произойдет ожидаемое событие. Более подробно вы можете прочитать здесь.

Инициализаторы объектов, массивов и коллекций

Намного проще создавать экземпляры классов, массивы и коллекции при помощи специальных инициализаторов:

Приведенный выше пример может быть очень полезным при unit-тестировании, однако в других ситуациях лучше создавать экземпляры при помощи конструкторов. Подробности здесь.


Лямбда-выражения, делегаты и замыкания

Они бывают необходимы в самых разнообразных случаях, но самую большую пользу они приносят при работе с LINQ. Узнайте о них побольше тут.

Оператор объединения со значением null

?? — довольно простой, но очень полезный оператор для определенных ситуаций. ?? возвращает левый операнд, если он не NULL, иначе он вернет правый операнд:

Также его можно использовать с тремя операндами, в этом случае проверка на NULL будет происходить слева направо:

А еще можно избежать многих ошибок, преобразовывая NULL в какое-либо конкретное значение:

Мастер Йода рекомендует:  Рейкастинг для самых маленьких геймдев на реальных проектах

Более подробно об операторе узнаете здесь.

Интерполированные строки $”

Новые возможности C# 6 позволяют вам интерполировать (разбивать) строки простым и элегантным путем:

Вы можете подставлять различные значения переменных в фигурные скобки в любой части строки, что делает инструмент весьма мощным и полезным. Подробнее.

Оператор безопасной навигации

Вот пример работы с оператором:

Если какой-либо из операндов будет равен NULL, то возвращенное значение тоже будет NULL. Неплохой способ проверять переменные на отсутствие объявления. Подробности тут.

Выражение nameof

На первый взгляд использование nameof не является столь уж нужным, однако на самом же деле nameof весьма полезен, когда вы используете автоматические инструменты рефакторинга, вроде ReSharper, и тогда вам нужно обращаться к аргументу метода по его имени.

Но при использовании автоматического рефакторинга лучше реализовать тот же код следующим образом:

Инициализаторы свойств

Инициализаторы свойств позволяют вам объявить начальное значение свойства:

Преимуществом является то, что значения свойств не являются неизменными, что придает некоторую гибкость вашему классу. Также примечательным является то, что инициализаторы свойств вполне реализуются внутри обычного конструктора.

Операторы as и is

Оператор is используется для того, чтобы определить принадлежность объекта к типу, если это так, то вернет true. Например, является ли объект Person экземпляром типа Adult или типа, производного от Adult:

Для проверки возможности преобразования типов используйте оператор as :

Если преобразование невозможно, то будет возвращено значение NULL.

Ключевое слово yield

Если используется ключевое слово yield в инструкции, то это означает, что обычный метод, метод доступа get или оператор, в котором оно встречается, является итератором. В следующем примере метод будет возвращать по порядку степени двойки: 2, 4, 8, 16, 32, 64, 128, 256.

Ключевое слово yield позволяет избежать создания явного дополнительного класса, в котором содержится состояние перечисления. Отличный и простой способ создания последовательности объектов. Более подробно ознакомьтесь здесь.

Какие есть хорошие ресурсы по изучению C#?

а еще лучше читать книги:

Герберт Шилдт — C# . Полное руководство
Рихтер Дж. — CLR via C#. Программирование на платформе Microsoft .NET Framework на языке C#.
Кржиштоф Цвалина, Брэд Абрамс — Инфраструктура программных проектов (Microsoft .NET Development)
Тепляков С. Паттерны проектирования на платформе .NET
Мак-Дональд Мэтью — Windows Presentation Foundation в .NET

Роберт Мартин — Идеальный программист. Как стать профессионалом разработки ПО
Стив Макконнелл — Совершенный код

Лучшие актуальные шпаргалки по C# на все случаи жизни

Шпаргалки по C# помогут забыть о поиске простой информации и сосредоточиться на действительно важных моментах программирования.

Лучшие актуальные шпаргалки по C# на все случаи жизни

Комментарии (3)


Лёха Зуенков

Если кому нужны подобные шпаргалки по синтаксису, в «Microsoft visual c# подробное руководство» от Джона Шарпа в конце каждой главы удобный краткий справочник в виде таблицы.

Кирилл Миронов

Вы бы ещё чё древнее откопали. Arraylist. На дворе С# 7.3

Кирилл Миронов

Ещё и изобретение велосипеда в самой статье, бред короче

О проекте

Данный сайт является агрегатором контента из популярных социальных сетей. Добавление новых материалов производится в автоматическом режиме. Администрация проекта не несет ответственности за их содержание.

Как я создавал методику изучения C#

Я с детства люблю не только программировать, но и делиться своими навыками, знаниями, рассказывать про свои программки, объяснять, как они работают, как их создавать.

В этом я нашёл своё призвание — мотивировать к изучению программирования.

Я не ставлю своей целью «научить писать программы», потому что этому нельзя научить, этому можно только научиться самостоятельно. Моя цель — сделать этот процесс максимально интересным, увлекательным, захватывающим, организовать «тусовку», сообщество, в котором можно и хочется решать задачи, развивать свои навыки программирования. Общество, в котором можно видеть успехи коллег, чтобы было к чему стремиться, кого обгонять.

Пишу программы с детства

В далёком 1992 году, будучи восьмиклассником, я каждый день после уроков ходил в кабинет информатики, где сидел до закрытия на практических занятиях у старшеклассников. Они изучали Бейсик на БК-0010. У меня уже были некоторые навыки написания программ, незаметно для учителя я помогал старшеклассникам решать их задачи. Мне это было в радость, им на оценку.

В десятом классе я поступил в заочную школу начинающих программистов. Мне по почте (бумажной!) присылали задачи, я писал тексты программ на листах А4 и отправлял на проверку. Изучение языка Pascal проходило в условиях отсутствия компилятора, только по книжкам и по листингам.

Летом в этой школе был организован лагерь, в котором мы полторы недели без перерыва писали программы (уже за компьютером). Каждый день, утром, днём и вечером, то по одному, то в команде, то по парам решали самые разные задачи. Там не было теоретических изысканий, были практические задачи. Много задач и программ. Неделя той школы дала мне очень многое. Именно там я понял, чему я хочу посвятить свою жизнь.

Жажда преподавания

После школы, после университета, где я только не преподавал язык программирования Pascal… В родной школе на факультативах, в частной компьютерной школе, давал частные уроки студентам и школьникам, работал в доме детского творчества и в гимназии. В университете вёл практику, вёл занятия информатики в городской физико-технической школе (без компьютеров, что интересно), даже свой собственный кружок «Формула программиста» организовал у себя дома. Параллельно с основной работой умудрился устроиться в ПТУ, где четыре года проработал учителем информатики.

Интерактивная система проверки задач

Я очень много общался со школьниками, уже знал, чем их можно увлечь, а что им по барабану. Да, никто не хочет читать теорию. Но все хотят действовать.

Работая в ПТУ я начал создание «робота» — системы дистанционного обучения программированию. Это список задач, которые можно решать только последовательно. Правильность написанных программ проверяется по заранее заготовленным тестам.

После отправки программы на проверку «робот» действует по алгоритму:
1. Компилирует программу.
2. Если вышла ошибка — возвращает сообщение компилятора.
3. Запускает программу с примером из условия.
4. Если ответ не совпадает — возвращает ответ программы для анализа.
5. Запускает программу ещё несколько раз со всеми остальными тестами, которые ученик не знает.
6. Ставит оценку программе: количество правильных тестов / общее количество тестов * 100%.
7. Если набрано более 50% — даёт допуск к следующему уроку.

Что нравится школьникам

Школьникам нравилось, что их программы проверяет не учитель, а «робот». Это более объективно, к тому же «не надо ждать, не надо звать», а можно сколько хочешь раз отправлять на проверку и получать результат. Замечено, что большинство учеников не довольствуются «полурешениями», я постоянно наблюдаю многократные отправки решений, пока не будет набрано чистых 100%. Доходило до того, что мои ученики решали задачи на моём сайте на чужих уроках, из-за чего на меня жаловались другие учителя. Думаю, это успех! 🙂

Кстати, эта система крайне облегчала мне процесс выставления оценок ученикам. Я просто задавал на дом, скажем, все задачи из раздела «Циклы», их там штук 10. На следующем уроке ставил оценки согласно набранным баллам. В первый раз это был столбец в журнале из 12 единиц и пары двоек-троек. Причём, не было никаких психологических драм, которые обычно сопровождаются при выставлении колов. Есть решения? Нет. Вот оценка. Всё. Одного раза было достаточно. По некоторым сведениям, ученики ПТУ делали домашнюю работу только к моим урокам… Да, классное было время. Хотелось бы его вернуть, но уже на новом уровне.

Ещё один важный момент методики — последовательный допуск к задачам. Это позволяет сконцентрироваться на конкретной задаче и не распыляться. Я пробовал открывать доступ сразу ко всем задачам — эффективность снижалась на порядок — ученики не знают, за что взяться, и в результате вообще ничего не решают.

Новый взгляд на старый проект

После работы в ПТУ прошло много лет, моя система покрылась толстым слоем пыли. Из года в год я всё грезил о том дне, когда я наконец-таки продолжу этот проект. И вот, это день настал. Я записался на тренинг по инфобизнесу, получил хорошего пенделя и начал действовать.

Вопрос выбора ниши для меня не стоял, потому что я могу, хочу, и буду действовать только в той области, без которой я жить не могу. Да, она достаточно узкая, программисты народ замкнутый, много сложностей при работе в этой нише, но этот выбор я сделал ещё в 12 лет, когда я каждый день просиживал в салонах компьютерных игр и в кабинете информатики, куда ходил, как на работу.

Единственное, что я мог выбирать — это язык программирования. Нужно выбрать такой язык, который я сам хорошо знаю, имею опыт работы с ним. Больше всего программ я написал на языках: Pascal, Delphi, C#, Java, PHP. Языки Pascal и Delphi уже не выдерживают критики, так как теряют популярность. С Java мне не очень везло, мне он кажется тяжёлым для этой цели. PHP мне не нравится тем, что там нет строгой структуры, нет ясных способов создания интерфейса пользователя, не нравится, что каждый раз страница загружается с нуля, хочется, чтобы было приложение, которое живёт не пару секунд, а чтобы было полноценное приложение для рабочего стола. Все эти рассуждения об языках программирования сугубо субъективны, основаны исключительно на моих чувствах и не подлежат обсуждению :).

Больше всего мне полюбился язык C# от микро-гиганта. К тому времени я закрыл несколько десятков самых разных проектов на этом языке, в том числе один очень крупный миллионный проект по созданию программы учёта графиков работы, рабочего времени, заработной платы (правда, миллионы достались не мне, у меня была только зарплата).

Итак, язык выбран. Как теперь мне его преподавать другим через интернет, чтобы ещё и заработать на этом, в перспективе?

Нужна изюминка


Я прекрасно понимал, что в интернете пруд-пруди всяких видео-уроков по изучению языка C#. Есть очень много хороших продуктов, есть возможность бесплатно найти профессиональные курсы. Что же я могу предложить, за что могу иметь смелость попросить денег?

Вебинары! Не мёртвые видео-уроки, не сухие книжки, а живое участие! Бесплатные, практические вебинары. Чистая практика, рабочие примеры, создание готовой программы с нуля, в режиме он-лайн. Ещё лучше — игровую программу. Школьникам и студентам нравится создавать собственные игровые программы.

Расчёт был следующим. Кто угодно, просто выполняя за мной, может с нуля создать готовую игрушку. Это круто, этим можно похвастаться, это супер, это завлекает, это мотивирует. Созданные мною игрушки базовые, без очков, без статистики, без особой графики, без наворотов. Только логика игры. Каждому захочется что-то добавить, изменить, усложнить. И тут ученик сталкивается с проблемой отсутствия теоретических знаний. И он уже сам, по собственной инициативе, начинает изучать теорию, буквально вгрызаясь в гранит науки, потому как мотивирован изнутри.

Ребята, это работает. Мой расчёт оказался верным.

Конечно, нашлось немало критиков моей методики. Профи-программисты говорят, что я ращу быдлокодеров. Я с этим не согласен. Я просто разбил песочницу и пригласил всех строить песочные замки. Кто захочет строить настоящие дома — пойдёт учиться дальше. И теория программирования не будет для него какой-то абстракцией, а будет укладываться в светлой головушке на конкретные практические воспоминания.

Моя цель — не научить, а увлечь, показать, как это классно, дать возможность попрактиковаться, организовать тусовку начинающих программистов. А учиться и накапливать навыки каждый может только сам.

Итак, способ выбран. Я буду проводить вебинары по созданию программ на C#.

Как провести вебинар?

Для проведения вебинаров я долго подыскивал площадку. Для моих целей нужно следующее:

1. Шаринг всего экрана без искажений;
2. Трансляция звука без задержки, синхронно с экраном;
3. Адекватная цена.

Я здесь не буду перечислять все площадки, которые перепробовал, сразу скажу, что после утомительных поисков мой выбор пал на join.me. Она удовлетворяет всем этим требованиям. Единственная особенность — все новички сталкиваются с проблемой настройки звука, для этого нужно «звонить» и скачивать программу для соединения. Во всём остальном – простая, быстрая и удобная площадка. Цена – 200 долларов за год. Буду признателен, кто порекомендует альтернативную вебинарную площадку, подходящую к указанным требованиям.

Первый вебинар я провёл 25 декабря 2013 года на тему «Создание программы для SMS рассылки». На него пригласил всех своих друзей. Получилось всё на «Ура!».

Для записи экрана и голоса я использую бесплатную программу oCam, она очень удобная, компактная и быстрая. Записанные видеоуроки я загружаю на YouTube.

Рабочий стол во время вебинара: Visual Stuido, Join.Me, oCam.

Я придумал для себя такую схему:
1. Выбираю игру для создания, сам пишу её.
2. Провожу вебинар по её созданию.
3. Записи вебинара сохраняю, чтобы создать свой видеокурс.
4. Повторить.

По началу вебинары получались скомканные, много технических сложностей возникало, на вебинары приходило всего несколько человек. Выкладывать такие записи было просто стыдно, поэтому поначалу видеоуроки я записывал отдельно от вебинара. Это было дольше по времени, но качество значительно выше.

Итак, процесс создания видеоуроков был уже налажен и с недельным циклом успешно работал:
Вебинар => Видеоурок => Вебинар => Видеоурок.

Что делать дальше?

Создать простенький сайт

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

Я долго выбирал звучное название, в конце концов остановился на videosharp.info. Буква «це» / «си» внутрь этого слова никак ни хотела становиться, поэтому я решил обойтись без неё.

Нашёл бесплатный шаблон, на коленке сделал сайт на зелёном фоне, сам нарисовал обложку, обыграв ассоциации названия языка с нотой «До-диез».

На сайте было два раздела: «Вебинары» и «Видеоуроки». Но как сделать, чтобы видео-уроки «работали»? Ответ у меня уже был готов. Во-первых, в одно время должен быть доступен только один урок. Во-вторых, за выполнение каждого урока нужно отчитываться.

За несколько дней на РНР и MySQL я набросал алгоритм последовательного доступа к видео-урокам с формой отправки архива созданной программы. И сделал интерфейс для проверки домашних заданий.

Кто будет проверять работы

По началу это было интересно — я смотрел все домашние работы, отвечал на вопросы, с нетерпением ждал новых программ. Однако количество работ расло и это занятие стало занимать много времени. Вызвался мне помочь один студент из самых активных слушателей. Занимался он этим делом очень ответственно, с комментариями, ответами на вопросы, разбором кода. Потом у него начался диплом и я опять остался один на один с горой работ.

Что делать? Пока решения не было, я поставил автодоступ к следующему уроку. Всё же лучше, чем ничего. Однако это противоречит принципу моей методики: последовательный доступ к урокам! Ведь можно отправить что угодно, получить новый урок. Снова отправить пустышку и опять идти дальше. Не обучение, а пустое развлечение.

Что же делать? Дать проверять другим ученикам? Во-первых, мало кому интересно смотреть чужие программы (я пробовал), во-вторых, не исключён вариант отправки вируса в архиве.

Так что же делать? Несколько недель это вопрос не давал мне покоя. Что же делать? Наконец-таки меня осенило: отчёты за задачи нужно делать скриншотами и ответами на простые вопросы, типа «сколько времени потребовалось», «что было самое сложное», «как оцениваешь урок». Перейти к следующему заданию можно только тогда, когда будет набрано, скажем, десять положительных отзывов. Сделать, чтобы работы проверять могли все желающие, а не только участники проекта.

Этот подход полностью оправдал себя, сделав из «минусов» — «плюсы»:
1. Для перехода к следующему уроку нужно отчитаться за предыдущий.
2. Ученики могут рассылать ссылку на свои отчёты своим друзьям, чтобы а) похвастаться, б) получить десять «хороших» оценок.

Теперь я уже могу констатировать: это работает. Процесс проверки очень простой: просмотреть картинки, прочитать отзывы, нажать кнопку «Хорошо» или «Плохо».

Проект успешно работал!

Робот Шарп


Настало время набрать в лёгкие побольше воздуха и сдуть огромный слой пыли с моей супер-пупер интерактивной системы проверки задач, чтобы внедрить её в мой проект. Этот раздел получил название «Консоль», потому что в нём пишутся консольные задачи.

Это оказалось не так просто, уж слишком много принципиальных различий у языков Pascal и C#, поэтому каждую задачу нужно было адаптировать. Ещё проблемы были с вводом данных. На языке Pascal для считывания двух чисел, введённых на одной строке через пробел, достаточно написать:

На языке C# так просто сделать нельзя. Пришлось создавать отдельную тему с задачками только на считывание чисел в самых разных формах. Аналог паскалевской строчки на языке си шарп у меня выглядит так:

Стоит ли говорить, что все алгоритмы для компиляции и тестирования программ пришлось создавать заново. Впрочем, это не заняло много времени, так как я чётко представлял, что хочу получить. Так появился «Робот Шарп» — программа проверки решений учеников.

Более подробно процесс работы робота Шарпа – как он компилирует и проверяет задачи – можно посмотреть на этом видео, которое я записал специально для этой статьи.

Для обеспечения работы раздела «Консоль» задействован VPS сервер с Windows XP, на котором установлен компилятор Visual Studio C# 2008. Робот Шарп представляет из себя программу, написанную на том же C#, которая подключается к базе данных MySQL где ожидает появления новых решений на проверку.
Когда появляется новая программа, робот Шарп сохраняет её в папку пользователя, компилирует, прогоняет по тестам и записывает назад в базу данных результат проверки с текстовым сообщением. Это может быть сообщение компилятора об ошибке, неверный результат работы программы при прохождении нулевого теста, список тестов с результатами тестирования. Если задача набирает больше 50% очков – она засчитывается и ученик может переходить к следующей задаче.

Видео-решения задач

Когда я создавал эту систему раньше, я грезил идеей размещения теоретического материала в начале урока. Несколько таких текстовых уроков я в самом деле составил. Но… Их никто не читал. Зато у всех всегда была куча вопросов: «Как решить эту задачу? Почему у меня программа не запускается?».

Поэтому я решил дать ученикам то, что они хотят — решения задач. Но не просто текст готовой программы, а видео-решение, в котором я подробно и наглядно объясняю, как решается эта задача, какие есть варианты и пишу код самой программы. То есть код ученик должен ручками набрать самостоятельно, в голове хоть что-то, да останется, а количество рано или поздно перейдёт в качество. Должен добавить, что видео-решениями пользуются достаточно редко, и это приятно. Многие хотят «добить» задачу самостоятельно.

Новый дизайн

Через полгода жизни моего проекта уже стало более 1024 учеников. Появилось уже 32 видеоурока по созданию самых разных игровых и прикладных программ. На вебинары приходило уже не менее 16 человек.

Бесплатный шаблон сайта, который был взят за основу, уже совсем не годился. Я занялся редизайном проекта. Схему своего сайта я перерисовал от руки не менее десяти раз.

Фрилансер создал мне на Bootstrap шаблон для моего сайта. Красивый, простой, удобный дизайн, два уровня меню, хлебные крошки, кнопки входа/выхода. Всё было красиво, но мёртво. Перенести весь проект с одного дизайна на другой — это как переехать в другой город. Фактически, я переписывал всё заново. И очень рад этому, код получился лучше, качественнее.

При создании сайта использовались следующие технологии: HTML, CSS, JavaScript, jQuery, Bootstrap, а также PHP, Smarty и MySQL.

Раньше тексты всех видеоуроки хранились у меня прямо в РНР файлах, теперь я перенёс их в базу данных. Мало того, я сделал небольшую собственную CMS, дабы облегчить себе процесс добавления публикаций на сайте, их редактирования, сортировки и перемещения. Системка, конечно, получилась примитивной, и в этом вся её прелесть — ничего лишнего, только то, что мне в самом деле нужно.

Продвижение проекта

В день на сайте регистрируется около десяти новых участников. Я завёл рекламные кампании на Яндексе и на Google, откуда приходит 2-3 человека в день. Больше никакого продвижения у проекта нет, в этой сфере у меня опыта мало, желания этим заниматься ещё меньше. Проект развивается сам по себе, иной раз я даже удивляюсь, откуда приходят люди.

Статистика

Под конец немного статистики по проекту,
Данные приведены на 9 октября 2014 года.

Зарегистрировано участников: 1861
Подписчиков в рассылке: 840
Проведено вебинаров: 42

Всего участников: 305
Создано видеоуроков: 44
Просмотрено уроков: 1351
Выполнено уроков: 325
Поставлено оценок «Хорошо»: 3384
Поставлено оценок «Плохо»: 74

Всего участников: 402
Создано задач: 140
Общее количество тестов: 615
Решённых задач: 3769
Решённых на 100% задач: 3642
Отправлено программ: 10651
Написано строк кода: 56069

Книги и учебные ресурсы по C#

Вопросы о литературе по различным языкам программирования возникают очень часто. Здесь мы попробуем собрать лучшие ответы и рекомендации насчёт литературы и других учебных ресурсов по языку C#, платформе и популярным библиотекам.

Не забывайте, однако, что никакая теория не заменит опыта программирования! Читайте, пробуйте, тренируйтесь. Спрашивайте, если непонятно. Попробуйте запрограммировать свой проект, это лучший путь.

Заблокирован участником PashaPash 15 янв ’16 в 10:36 .

Ответы на этот вопрос — результат совместной работы участников. Если вы видите возможность по улучшению, просто отредактируйте ответ! Новые ответы больше невозможно добавить.

Подробнее о заблокированных сообщениях здесь.

1 ответ 1

Литература по языку C#

Книги для новичков: а о чём это вообще?

  • Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков.
  • C# 6.0 and the .NET 4.6 Framework (7th Edition), Andrew Troelsen, Philip Japikse (русский перевод предыдущего издания: Язык программирования C# 5.0 и платформа .NET 4.5, Эндрю Троелсен). Хорошая популярная книга, многие начинали с неё.
  • C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью.
  • C# 2010. Ускоренный курс для профессионалов, Нэш Трей

Книги среднего уровня: если hello world не проблема


CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, местами скучновата, зато максимум подробностей из первых рук.
Предупреждение: Русский перевод от «Питер» ужасен: вас ждут выброшенные абзацы, опечатки и ляпы, меняющие смысл текста на противоположный. По возможности, читайте английский оригинал.

C# 7.0 in a Nutshell: The Definitive Reference, Joseph Albahari, Ben Albahari (русский перевод предыдущего издания: C# 6.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности, почитайте!

Essential C# 6.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги.

Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка.

Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths (русский перевод : Программирование на C# 5.0, Иэн Гриффитс). Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.

Книги для специалистов: внутренние механизмы и пыльные углы

C# in Depth, Jon Skeet, Third Edition (русский перевод: C# для профессионалов. Тонкости программирования, Джон Скит, Третье издание). Имя автора говорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи.

C# 5 Unleashed, Барт де Смет. Фундаментальная книга.

Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio.

Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступна бесплатно на английском.

Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлена информация о почти всех тонкостях низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие-то аспекты могут быть неактуальны.

Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом. (Саша Голдштейн — признанный эксперт в этой области.)

Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.

Литература по асинхронному программированию и многопоточности

Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream’oв так и thread’ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task’ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async / await в книгу не вошла.

Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async / await . Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow.

Конкурентность и параллелизм на платформе .NET. Паттерны эффективного проектирования. Террелл Рикардо. Книга содержит примеры на языках C# и F#, описывает паттерны проектирования конкурентных и параллельных программ как в теории, так и на практике.

Литература по WPF

Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML’а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям.

Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка.

Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации

Литература по ASP.NET

  • Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п.
  • Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен).
  • Professional ASP.NET MVC 5, Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
  • Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC, Jess Chadwick, Todd Snyder, Hrusikesh Panda (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер).
  • ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев
  • Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон)

Литература по LINQ

  • Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта.

  • LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров.
  • C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.

Литература по принципам, шаблонам и методикам разработки

  • Руководство Microsoft по проектированию архитектуры приложений, 2-е издание Системный труд, в котором вы постоянно будете узнавать отсылки к тем или иным книгам, паттернам и архитектурны приёмам.
  • Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях.
  • Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин

Литература по Windows Workflow Foundation

  • Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод: Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5.
  • Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.

Литература по XML

  • XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.

Литература по ADO.NET

  • Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)

Литература по .NET Remoting / WCF

  • Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс
  • Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник)
  • Основы windows communication foundation, Стив Резник, Ричард Крейн, Крис Боуэн

Литература по безопасности

  • Криптография и безопасность в технологии .NET, Питер Торстейнсон, Гнана Ганеш (Переводчик: В. Хорев). Книга дает представление .NET разработчику о реализации и применении криптографии, цифровой подписи, аутентификации, авторизации и доступа к коду (CAS). В ней описывается, что такое симметричное и асимметричное шифрование, что представляют собой цифровые подписи и как их использовать в .NET приложениях.
  • Microsoft ASP.NET. Обеспечение безопасности, Доминик Байер. Не смотря на то, что в названии указано ASP.NET в книге рассматриваются технологии безопасности под Windows, применимые из .NET для всех типов приложений. Это аутентификация, авторизация, олицетворение и Membership.


Книги и учебные материалы по Entity Framework

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

C# с нуля

Просьба людям, которые хоть как-то знакомы с программированием пройти мимо этого поста.

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

Писать весь код пока что мы будем между двумя скобками, в месте, которое я выделил. Сразу следует запомнить несколько правил:

В конце каждой строки должен стоять знак ;

Каждая кавычка и скобка должна быть закрыта.

И начнем мы обучение сразу с переменных. Что такое переменная? Это область памяти в которой хранится какое-то значение. Сегодня я расскажу только о 4 типах переменных.

Переменная Int может хранить любое (на самом деле нет) число без дробной части.

Переменная string хранит любой текст. Он обязательно должен быть указан в двойных кавычках.

Переменная char может хранить в себе любой символ, но только один. Должен быть указан в одинарных кавычках.

И переменная bool может хранить в себе только значения true или false.

Любую строку написанную ниже можно условно разделить на 3 части:

Тип переменной (ниже выделена синим), ее название (выделено белым)(может быть почти любым и выбирается вами, но не может повторяться) и значение переменной (в данном случае указано после знака равно).

Все строки подчеркнуты зеленым, из-за того, что у нас они нигде не используются.

Переменная может быть инициализирована (ей может быть присвоено значение) сразу (как на изображении выше) или уже после ее создания (смотрим ниже).

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

Чем отличается = от ==? = — это знак присвоения, а == — знак сравнения.

В первом случае мы присваиваем переменной num значение 5 (если переменная была равна 40, то теперь она равняется 5), а во втором случае мы проверяем не равна ли переменная num 5 (если до этого она была равна 40, то она и останется такой же).

Условные операторы (if else)

text = «Переменная равна 2»;

text = «Переменная не равна 2»;

Т.е на русском конструкция с if else имеет вид

Если выполняется (какое-то условие)<

то происходит что-то

если не выполняется <

то происходит что-то другое

Вернемся к операторам сравнения:

if(num!=4) если num не равно 4(равно чему угодно кроме 4).

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

Сейчас мы сделаем первое приложение — счетчик нажатий (ничего проще я придумать не смог)

Вновь возвращаемся в первую вкладку. Про окно №3 можете забыть, оно вам на первое время не пригодится. Окно 5 разделено на 2 части. Слева названия, справа значения. Нажав на название, мы можем увидеть в окне 6 описание свойства. Если мы хотим запустить наше приложение, нажимаем кнопку 4. Сейчас нужно открыть панель инструментов (2).

Добавляем кнопку (button) и надпись (label) (просто перетягиваем их). В окне свойств находим название этих элементов (название и текст — это не одно и то же (но в нашем случае они совпадают)). Итак, нам нужно детально продумать, то будет делать наше приложение. Оно должно менять текст надписи на число нажатий по кнопке. Для этого нам нужно как-то обработать нажатие на кнопку. Представим, что мы не знаем, как это сделать. Идем в гугл. Пишем вопрос «c# как обработать нажатие на кнопку», нажимаем на первую же ссылку и.

Дважды наживаем на кнопку и видим, что у нас появился новый метод. Нам нужно получить количество нажатий. Количество — это число, значит нам нужно создать новую переменную int. Если мы ее создадим в методе button1_click, то у нас она будет создаваться каждый раз заново при клике на кнопку. Значит нужно создать переменную за пределами методов (если мы создадим ее в любом другом методе, то она будет доступна только в нем) и сразу присвоить значение 0, потому что при запуске программы, сразу пользователем не будет сделано ни одного клика. При клике на кнопку значение должно увеличиваться на 1, значит этот код нужно написать в методе button1_click, и значение должно сразу выводиться в label1. Как это сделать? Используем гугл. Для вывода текста мы можем использовать только тип переменной string. Но так, как у нас тип int нам нужно его преобразовать. Опять обращаемся к гуглу. Еще раз повторяю , что цель этого поста не обучить вас программированию, а указать вам, с чего начать.

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

УЧИСЬ ДОМА!

На этой странице собраны материалы для обучению одному из самых мощных языков программирования C#

Установка

Книга советов и рекомендаций. Для тех, кто уже познакомился с программированием на C#

Ссылки. Основы

  • Ссылка на мой плейлист с уроками на YouTube
  • Ссылка на курс «Изучаем язык программирования C#» в обучающей системе Moode (используйте гостевой доступ)
  • Лекции «Программирование на языке С#: разработка консольных приложений»

Ссылки. Продвинутый уровень

Perl, Python — блог программиста

C Sharp я выбрала потому, что мне хотелось освоить что-то серьезное, основательное. Выбор делала между С и Java. С Java у меня не сложилось. Мне она казалась очень «тяжелой», и попытки читать книги по Java вызывали скуку, сонливость и отчаяние. Я категорически не понимала, зачем нужны такие сложные и некрасивые конструкции. В perl тоже самое делается легким движением руки.

Cи всегда был розовой мечтой. Язык, на котором пишут бородатые и очень умные дядьки, мега-крутые профессионалы. Однако, окончательно решив изучать C, я поняла, что опять надо выбрать — какой именно? Классический или C++ ? У меня нет времени, чтобы заниматься всем по порядку. С++ произвел впечатление чуть лучше Java, я приуныла.

И вот тут мне на глаза попался C Sharp. Скачала себе Visual Studio 2010. Посмотрела, полистала учебники, почитала MSDN. И начала испытывать к C Sharp настоящую нежность. Да, к сожалению, он не так крут, как С++, программисты менее востребованы, ЗП у них меньше. Но все-таки, это C (более безопасный и со сборкой мусора, ура!). Для него есть потрясающе удобная документация. Ее много! Она на русском! Есть инструментарий для разработки, с удобным GUI. Есть книги — отличные, легко читающиеся. Все это настолько отличается от Perl ! Вот что значит, когда язык поддерживается богатой компанией с мировым именем.

Ниже я хочу предложить вам список лучших книг по C Sharp.

И кстати, начав изучать C Sharp, я стала больше ценить Perl. Работая с C Sharp, ты приходишь на все готовое. Это приятно и комфортно, чувствуется забота о программисте. В работе с бесплатными продуктами, которые разрабатываются сообществом, нет ничего подобного. Извечные проблемы с документацией, локализациями, редакторами. Perl даже долгое время вообще не обновлялся и на несколько лет прекратил развитие.

Но именно это и важно. C Sharp — это комфорт готовой системы, perl — возможность самому участвовать в развитии и продвижении языка.

Простите за долгое вступление, а теперь список 🙂

Со временем, список будет дополняться. Если вы читали какую-то из перечисленных книг, оставьте комментарий! Мне интересно узнать ваше мнение.

    C# 4.0 и платформа .NET 4 для профессионалов. Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер

Одна из лучших книг по языку программирования, из тех, с которыми я встречалась. Легко читать,
информация полная. Не смотря на заголовок «для профессионалов», на самом деле, ее легко читать
даже если вы совсем не знаете C Sharp (впрочем, иметь навык программирования на любом другом языке — обязательно). При этом,
благодаря такому позиционированию, книга не является скучной — судьба большинства книг «для начинающих».

Мне повезло купить книгу во время очередной скидочной акции. Цена книги впечатляет не меньше ее содержимого.

Отличная книга для начинающих. Особенно для тех, кто выбрал C# в качестве своего
первого языка программирования. Хорошее и подробное изложение материала.
Очень понравился раздел по пространству имен System — удобный справочный материал

Список лучших книг по C# (C Sharp) : 7 комментариев

>опять надо выбрать — какой именно? Классический или C++?

Выбирать не надо. Сначала одно, а потом, если захочется — второе. Так как C++ — надстройка над C.

На первое, потом второе — времени не хватает. Либо то, либо другое.

Изучал C# по книге Нейгела — очень понравилась, для полного понимания языка достаточно. Не так давно посоветовали Шилдта — книга тоже очень хорошая, но уж очень для новичков.

Тоже вот захотел научится! Думаю не помешает. Хочу прочитать Герберта Шилдта. Но есть загвоздка:( Хочу найти в pdf формате, что бы на работе втихаря читать. Так весь инет перерыл и ничего не нашел. Может еще пару книг хороших посоветуете?

Добавить комментарий