C# programming. Lesson 12. Lambda expressions

Поделиться
HTML-код
  • Опубликовано: 14 фев 2014
  • Прикосновение к функциональному программированию. Лямбда-выражения.
    Ссылки на предыдущие уроки:
    Урок 11. Три кита. • Уроки C#. Три кита
    Урок 10. Исключения. • Уроки C#. Исключения
    Урок 9. Множества. • Уроки C#. Множества
    Урок 8. Обобщения. • Уроки C#. Обобщения
    Урок 7. Пример создания приложения. • Уроки C#. Пример созда...
    Урок 6. Интерфейсы. • Уроки C#. Интерфейсы.
    Урок 5. Запечатанные, статические и абстрактные классы. • Уроки C#. Запечатанные...
    Урок 4. Наследование и полиморфизм. • Уроки C#. Наследование...
    Урок 3. Делегаты и события. • Уроки C#. Делегаты и с...
    Урок 2. Состав типа. • Уроки C#. Состав типа.
    Урок 1. Типы данных. • Уроки C#. Типы данных.

Комментарии • 57

  • @dmitrylyskov68
    @dmitrylyskov68 9 лет назад +48

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

  • @alexanderspiegel6747
    @alexanderspiegel6747 4 года назад +5

    Не зарастёт народная тропа к Вашим урокам. Спасибо за Ваши усилия. Очень интересно и доходчиво.

  • @igor5539
    @igor5539 7 лет назад +21

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

  • @user-tn7fy6ze3b
    @user-tn7fy6ze3b 10 лет назад +11

    Func and we must go deeper

  • @novusis
    @novusis 3 года назад +1

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

  • @EvgeniyOsipov
    @EvgeniyOsipov 8 лет назад +14

    Как я понял, если кратко, то:
    Делегаты - держатели ссылок на методы с подходящей сигнатурой (тип возвращаемого значения, кол-во и тип параметров).
    Лямбда-выражения - это анонимные методы, которые, в свою очередь, являются методами без явного/отдельного объявления где-либо в коде.
    Спасибо за видео, интересно и доходчиво преподносите материал. С меня лайк и подписка )

  • @semyonzakurdaev8385
    @semyonzakurdaev8385 10 лет назад +8

    Отличные уроки, всегда интересно смотреть :) Спасибо.

  • @dmitriybredun1133
    @dmitriybredun1133 7 лет назад +2

    Великолепные уроки, большое вам спасибо !!!!

  • @eduardtsuranov712
    @eduardtsuranov712 7 лет назад +1

    Спасибо огромное за труды! Очень доходчиво!

  • @user-vj3jp5im3m
    @user-vj3jp5im3m 9 лет назад +1

    Большое спасибо за урок. Очень интересно было узнать подробно о замыкании.

  • @alinapetrova3232
    @alinapetrova3232 7 лет назад

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

  • @TheCelected
    @TheCelected 6 лет назад +1

    Спасибо за урок.

  • @Gekas311
    @Gekas311 9 лет назад +2

    Не смотря на то, что тему знаю, смотреть все равно было интересно. Вы умеете подавать материал. Спасибо)

  • @Defazze
    @Defazze  10 лет назад +7

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

    • @Defazze
      @Defazze  9 лет назад

      ***** С какой целью интересуетесь? )

    • @Defazze
      @Defazze  9 лет назад +16

      ***** Общий стаж - больше 15-ти лет. На мой взгляд, для более-менее уверенного владения C# надо минимум 3 года, лучше 5. Причем 3 года реальной практики с реальными проектами, а не просто чтения книг. Наилучшим вариантом будет устроиться куда-нибудь джуниором, ну и дальше развиваться, не только отсиживать на работе с 9 до 18, но и дополнительно много читать, пробовать, изучать. Тогда будет рост.

    • @dinvinchester3353
      @dinvinchester3353 5 лет назад

      ​@@Defazze как с вами связаться ?

  • @anatoliinavrockiy8607
    @anatoliinavrockiy8607 4 года назад

    Очень понятно объяснил. Спасибо большое

  • @yakovga
    @yakovga 4 года назад

    Спасибо большое за ваш труд

  • @user-ku6lc8zu4b
    @user-ku6lc8zu4b 4 года назад +2

    Очень классно объясняете! Жаль, конечно, что новых роликов уже давно не было. Не понимаю, почему так мало просмотров и подписчиков.

  • @MrKwinto1971
    @MrKwinto1971 9 лет назад +1

    огромное спасибо

  • @Jekklo
    @Jekklo 6 лет назад

    Супер!

  • @MartinEden-ps6ld
    @MartinEden-ps6ld 7 лет назад

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

  • @MartinEden-ps6ld
    @MartinEden-ps6ld 7 лет назад

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

  • @semen083
    @semen083 7 лет назад

    хоть и пишу на vb.net, но все равно Ваши уроки очень помогают. Спасибо за труд

  • @natunuarat3207
    @natunuarat3207 8 лет назад +1

    Игорь, спасибо большущее за ваши уроки, они мне очень помогли! С них я начинала (добивала литературой) и уже начала стажировку в одной компании :)
    Отличное дело делаете!

  • @EdwardNorthwind
    @EdwardNorthwind 4 года назад

    Надеюсь есть плейлист, пойду и другие ролики посмотрю. Спасибо

  • @konstantin612
    @konstantin612 8 лет назад

    Вот это было хорошо

  • @user-py7qm5zx5j
    @user-py7qm5zx5j 5 лет назад +1

    лайк за 7.15; Очень жаль что 99% видео ничего не обьясняют а просто хвастаются знаниями. Спасибо!

  • @atribolt
    @atribolt 6 лет назад

    24:00 переменная expr с маленькой, ниже обращение, так понимаю к ней же, однако с заглавной буквы) Но это мелочь, главное суть уловить. Спасибо за уроки

  • @_goldmanv5925
    @_goldmanv5925 11 месяцев назад

    Автор, молодец. Но тема сложная. Невозможно понять!

  • @user-pr1fo1tv7d
    @user-pr1fo1tv7d 8 лет назад +4

    Здравствуйте, Игорь. Объясните если не сложно, что случись с параметрами в этом примере?
    butOk.Click += delegate {MessageBox.Show ("Нажата кнопка ОК.");};
    Ведь делегат события ожидает 2 входных аргумента?

    • @andrzejkrawczuk6943
      @andrzejkrawczuk6943 6 лет назад

      Анонимный метод может не иметь параметров вовсе

  • @Zermond
    @Zermond 5 лет назад

    Куда автор пропал? Очень жаль, что нет новых видеороликов.

  • @GreekkAlex
    @GreekkAlex 10 лет назад

    Отличные уроки. А когда же раскроется тема потоков и многопоточности?

    • @Defazze
      @Defazze  10 лет назад

      Не в ближайшее время точно )

    • @GreekkAlex
      @GreekkAlex 10 лет назад

      Жаль!:(

  • @borishere1
    @borishere1 10 лет назад +1

    Где можно найти подборку задачек на закрепление уроков?

    • @Defazze
      @Defazze  10 лет назад

      Наверное, пока нигде ) Только собственные эксперименты.

  • @osipov180
    @osipov180 9 лет назад

    Уроки хорошие, но звук очень тихий. Можно с этим что то сделать?

  • @user-jl7lx4wd4r
    @user-jl7lx4wd4r 8 лет назад

    Здравствуйте, Игорь!
    Все очень здорово. Однако в чужой программе встретила такой код:
    private void DeviceOnConnected()
    //это метод события на которое подписался экземпляр класса
    // Device = new UsbHidDevice(0x04D8, 0x01FF);
    // Device.OnConnected += DeviceOnConnected;
    // при загрузке формы
    {
    ThreadSafe(() => checkBox1.Enabled = true);
    }
    private void ThreadSafe(MethodInvoker method)
    {
    if (InvokeRequired)
    Invoke(method);
    else
    method();
    }
    Как его понимать?
    Если не трудно, подскажите, пожалуйста!
    С уважением Лариса

    • @Defazze
      @Defazze  8 лет назад +1

      +Лариса Титова Это потокобезопасное обращение к элементу управления формы, подробнее можно посмотреть тут ruclips.net/video/D9qcKV4j75U/видео.html. В данном случае MetodInvoker - это обычный делегат типа Action, не принимающий и не возвращающий параметров.

  • @ams9989
    @ams9989 10 лет назад +1

    а будут уроки по XML ?

    • @Defazze
      @Defazze  10 лет назад

      А что именно интересует в XML?

    • @ams9989
      @ams9989 10 лет назад

      Defazze программирование под Web

    • @Defazze
      @Defazze  10 лет назад +3

      Maga Albogachiev
      Это очень обширная тема. Вот, например, рекомендую ознакомиться с этим курсом: habrahabr.ru/post/175999/

    • @ams9989
      @ams9989 10 лет назад +2

      Спасибо ( буду ждать ваши новые уроки )

  • @themaither1383
    @themaither1383 3 года назад

    кстате метод в методе называетса функция

  • @Nekomata1993
    @Nekomata1993 8 лет назад

    Я Игорь и мне чуть-чуть обидно! Потому что правду сказал: я ленивый...

  • @ju5878
    @ju5878 6 лет назад

    Что с видео, постоянно фризит, и все молчат

  • @sergeyt4118
    @sergeyt4118 5 лет назад

    вот у меня тоже сложное впечатление. вижу, что автор профи, нет вопросов. на начале - очень удачное демо как из анонимов перешли к лямбдам, чтобы объяснить откуда ноги растут, понятно. а дальше - пример с замыканием ... у меня в голове сразу замыкание, как у некоторых тоже в коментах.
    Вроде вижу что курс не обозначен как "Проф-level", а раз начало урока пытается объяснить что это за новое понятие - и сразу ожидаешь что это начальный уровень объяснения что такое лямбды, должны по-идее как для новичков объяснить с плавным усложением что тут и как ... - а потом бах, и через минут 10-15 большинство примеров явно требуют 80-го уровня эксперта по C#, как-будто читал книжку из билиотеки - а там после 80-й страницы ктото-то вырвал листы и сразу 140-я пошла.
    Если это примеры не для новичко в теме лямбд, а для профи - а им нафига это объяснить?, они и так все примеры должны влет понимать.
    На itvdn (кстати кто-то упоминал в коментах) такое же заметил - некоторые уроки понятно, объясняют концепции потом примеры дополняют. а некоторые темы авторы сразу дают через навороченные примеры без объяснения связи сущеностей и их назначения (как это например у Шилдта разжевывают), и просто скользя по коду с читкой какой тут термин к чему относится и куда вводит (явно ссылаюсь на знания многих прочих навороченных тем без упоминания таковых) - это ни фига не учит; приходится идти опять в книгах копаться.
    Имхо это не столько сложность темы, сколько (а) либо время поджимает, просто не успеваете за бюджет минут раскрыть вопрос, либо (б) методический косяк подачи материала - нельзя сложные темы без подкрепелния теорией на должном уровне раскрытия сразу примерами закидывать.
    Или же надо писать что "ролик требует профи-уровня аудитории" тогда.
    Я вот как начинающий в си-шарпе смотрю на ситуацию по привычке "глазами бизнеса" и хорошо понимаю на таком примере, почему говорят, что "нельзя бизнесу с разрабами напрямую общаться" без переводчиков - вроде по-русски все, но как-то по особенному типу локиги иногда смыслы подаются
    а так спасибо, автор старается для нас :)

  • @EvgenNR
    @EvgenNR 4 года назад

    Хммм... что-то ролик испорченый какой-то. То всё синее было, то зеленое.

  • @tambules
    @tambules 8 лет назад

    11:40 кусок кода, почему нет более подробного объяснения, что, куда обращается, как работает, принцип. От того что я посижу и подумаю как оно работает, ничего не изменится, не понятно. И так в большинстве ваших уроков. Хоть материал вижу что стараетесь давать как можно лучше. Но этот косяк никак не улучшается. Теперь сижу и штудирую книги как оно должно функционировать. Ленивый Игорь...

    • @U7Craft
      @U7Craft 7 лет назад +1

      Если ты совсем новичек, ознакомься с курсами itvdn, потом возвращайся сюда

    • @AntonPetersen93
      @AntonPetersen93 7 лет назад

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

  • @denisgrossman9778
    @denisgrossman9778 5 лет назад +1

    Ни черта не понятно. Ушел читать msdn. Плохо объясняешь