Уроки C# - LINQ - Where, Select, GroupBy, AsParallel, x.Key - C#

Поделиться
HTML-код
  • Опубликовано: 10 май 2019
  • Донаты и на кофе ➜ t.me/win10tweaker/171
    Эксклюзив для спонсоров ➜ / xpuct
    Если недоступна спонсорка ➜
    Форум по C#:
    win10tweaker.ru/forum/forum/%...
    #LINQ #Where #Select #AsParallel #GroupBy #OrderBy #СиSharp #СиШарп
  • НаукаНаука

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

  • @alex-qx5zn
    @alex-qx5zn 4 года назад +110

    оглавление:
    00:00 вступление
    01:33 начало, об устаревших string массивах
    02:58 reverse array
    04:05 .ToList()
    07:33 .Union()
    08:40 .Skip()
    09:03 .Distinct()
    09:43 .Count()
    12:53 .Where()
    16:40 .Select()
    19:30 .OrderBy()
    кстати, все эти расширения очень похожи на SQL запросы, вернее, это грубо говоря они и есть
    20:00 .OrderByDescending()
    20:40 .ThenBy()
    22:10 .GroupBy()
    24:29 .Key
    27:00 отступление об автоподставке
    28:30 Parallel.For()
    30:10 Parallel.ForEach()
    32:25 .AsParallel() (.ForAll())
    47:10 .Aggregate()
    51:20 .First()
    52:07 .FirstOrDefault()
    52:43 .LastOrDefault()
    52:48 .Any()
    53:18 .All()
    дальше рассказываем коротко
    56:27 .Exept()
    57:02 .SkipWhile()
    Вот теперь порядок. Тема сложная, запомнить все невозможно а читать документацию лень когда есть такой учитель. Можете дописывать в ответах что добавить.

  • @user-sm6du2wh7r
    @user-sm6du2wh7r 2 года назад +31

    Я такой подачи материала еще не встречал, серьёзные темы с юмором=).Приятно слушать

  • @psevdoname123
    @psevdoname123 3 года назад +7

    Всю ночь искал вменяемое объяснение с примерами, а ваш канал - настоящий клад. Акцент на использование, а не на теорию, очень помогает быстро вникать. Спасибо!

  • @user-ve6xl8sd3l
    @user-ve6xl8sd3l 4 года назад +25

    "нет буквы п-пошел нахер" эта фраза просто убила)

  • @RioRRRR
    @RioRRRR Год назад +3

    Мужик ты лучший. Я за 5 минут узнал инфы больше чем где либо за часы

    • @XpucT
      @XpucT  Год назад

      True story ☝

  • @fedorsteshenko43
    @fedorsteshenko43 4 года назад +75

    Мужик спасибо тебе огромное, жаль такого препода нету меня в универе

  • @drino955jug3
    @drino955jug3 3 года назад +6

    Спасибо большое, ты проделал огроменный труд.
    Программка прекрасная, СПАСИБО !!!

  • @paul.antares
    @paul.antares 2 года назад +2

    Какой же ты монстр))))
    Как можно настолько быстро и четко выдавать информацию?
    Восторг!

  • @yaroslove
    @yaroslove 3 года назад +9

    Хачатур, большое тебе спасибо за этот ряд видосов, ты человечище. Это большой труд - снимать так, чтобы тебя понимали. Oчень много почерпнул по шарпу именно у тебя. Счастья :)

  • @profitergrant
    @profitergrant 4 года назад +4

    Ждем новые видео по обучению. Самый отличный мастер по обучению!

  • @Sharpei14
    @Sharpei14 Год назад +2

    Пересматриваю тебя уже третий раз. Мужик! Большое благодарю! Самый крутой выпуск про магию Linq)!

  • @user-yg9bg1rp7s
    @user-yg9bg1rp7s 4 года назад +13

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

  • @urbans6
    @urbans6 3 года назад +3

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

  • @irik2339
    @irik2339 Год назад +1

    Топ видео!!! Спасибо огромное! Теперь буду пользоваться LINQ!

  • @bakhtiyarov_dj
    @bakhtiyarov_dj 2 года назад

    Благодарю. Спасибо. Очень помог. Удачи во всём!!!

  • @crysis3484
    @crysis3484 4 года назад +1

    Шикарно объясняешь! Респект и лайк за урок!

  • @irinaku7581
    @irinaku7581 Год назад +1

    Благодарю, вы лучший

  • @user-sy3uo4ki6v
    @user-sy3uo4ki6v 4 года назад +1

    Шикарный урок. Спасибо вам!

  • @maxdark9817
    @maxdark9817 5 лет назад +3

    Привет Христ! Зачетные видео! Очень интересно рассказываешь, нравится смотреть твои уроки по C#!

  • @unsuigo6426
    @unsuigo6426 3 года назад +3

    Лаконично и доходчиво Вдохновительно и прикольно. Респект!

  • @arsenk.6146
    @arsenk.6146 4 года назад +6

    Спасибо большое! Очень плотная подача информация, круто. Большинство знал, но интересно было послушать, кое-что почерпнул для себя, хорошо рассказываешь. Лайк, подписка :)

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

    Хачатур, спасибо! Такой подачи материала я еще не встречал...

  • @Shuhret
    @Shuhret 4 года назад +1

    У тебя супер уроки. Спасибо!

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

    Это лучшее объяснение темы, что я видел.

  • @user-oo7sz8vn2g
    @user-oo7sz8vn2g Год назад +1

    Шикарно, спасибо !

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

    Это первое видео на данном канале, которое я посмотрела. И точно не последнее. Спасибо за вашу работу и за такую крутую подачу!))

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

    Мне даже спать перехотелось! Шикарный урок.

  • @yar9721
    @yar9721 2 года назад +5

    Респект, начал осваивать программирование и выбрал язык С# так как понравился синтаксис и в целом язык. Вот дошел до Линку и не мог понять select() благодаря тебе я все понял, спасибо)

  • @ssaddmi
    @ssaddmi Год назад

    Очень круто! Спасибо большое

  • @armm6437
    @armm6437 Год назад +1

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

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

    Лайк поставил, пошёл смотреть. Хорошо, что есть люди, которые могут нормально объяснять

  • @lamax847
    @lamax847 5 лет назад +3

    как всегда на высоте, лайк

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

    Продолжай снимать, очень помогают твои ролики

  • @aaronlikov6634
    @aaronlikov6634 5 лет назад +2

    Спасибо, было интересно!

  • @user-qz6cu2vt8r
    @user-qz6cu2vt8r 3 года назад +1

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

  • @alexandrsitnikov8688
    @alexandrsitnikov8688 4 года назад +1

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

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

    Побольше домашних заданий, это то что нужно)

  • @user-kp5hr6tr6k
    @user-kp5hr6tr6k 7 месяцев назад

    Это просто прекрасно
    🙃

  • @Vladislav11111
    @Vladislav11111 4 года назад +24

    Тааааалант объяснять так, чтобы было понятно.
    Где поставить 1000 лойсов???

  • @kirillvlasenko3423
    @kirillvlasenko3423 2 года назад +1

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

  • @BonBiBon
    @BonBiBon 3 года назад +2

    БДЖЬЪ!!!!!!!! Супер взорвались все мои непонятки!

  • @GanovAlex
    @GanovAlex 2 года назад

    Случайно наткнулся на видео, хоть и знаю все эти дела, но в качестве повторения и просто приятного видео залипаю. Материал преподносится суперски, талант. Спасибо за видосики

  • @user-jx7cv9sf8s
    @user-jx7cv9sf8s 2 года назад +1

    Спасибо, все понятно!!!

  • @libravo1d19
    @libravo1d19 4 года назад +1

    Жостко бро подписался.
    Ты мне прям глаза на линк открыл я думал то что это фигня.

    • @libravo1d19
      @libravo1d19 4 года назад +1

      У меня лабаротрка по спискам и колекциям и нужно ее вывести и обернуть а потом посчитать количество элементов крч должен был быть алгоритм а будет list.Revers() и list.Count () лол

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

    Начал на Codewar проходить задания, пишу портянку с for- ами, foreach- ами. Смотрю решения, одна строчка у всех, аааа как? 🥵🥵🥵🥵
    Побежал линк изучать, у тебя первый раз на канале, Инфа ТОП! Буду залетать, лайковать! Спасибо!

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

    Хорош, спасибо, ахпер джан.

  • @gulnazkabekova8025
    @gulnazkabekova8025 5 лет назад +8

    Дааааа😅😅😅. Так круто объяснили. Like и подписался. Продолжайте так.

  • @dayls8545
    @dayls8545 2 года назад +1

    Ну таких туториалов я ещё не смотрел) Спасибо

  • @KOCadm
    @KOCadm 4 года назад +1

    Большое спасибо!

  • @azerqgaming
    @azerqgaming Год назад +1

    Inline SQL в Шарпе это на самом деле круто :)

  • @Pilengass
    @Pilengass 4 года назад +9

    Ролик как всегда пушечный. Христ, у тебя одни из лучших обучающий роликов. Все быстро, внятно . Ролики по теме и с примерами. Нет никого бубнежа на 2-3 часа, как от дяди Васи, который по молодости писал калькуляторы для завода и который в душе не чает что такое ООП, но пытается его объяснять со своим беспонтовым микрофоном , купленным где-нибудь в Мвидео за 200 рублей . Очень жаль, что ты сейчас не записываешь обучающие ролики, но вижу активность в комментариях от тебя. Будем ждать продолжение твоих роликов. Надеюсь у тебя все хорошо.

    • @XpucT
      @XpucT  4 года назад +6

      Спасибо =) Всё хорошо.
      Сейчас очень занят Win 10 Tweaker. Сложноватые задачи себе придумал, которые никто никогда не делал даже. Но справляюсь =)
      Новые уроки будут. Как раз когда буду свободнее.

    • @Pilengass
      @Pilengass 4 года назад +4

      @@XpucT , удачных разработок!

  • @MsTroll2011
    @MsTroll2011 2 месяца назад

    "на... ты нужен, если у тебя нет большой буквы П" (С)
    запоминающаяся фраза:-)

  • @chuvak_2553
    @chuvak_2553 5 лет назад +34

    Уже шёл спать, а тут видос на час, ну за что?)))

    • @fobien
      @fobien 4 года назад +2

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

  • @user-mz7po4jf2t
    @user-mz7po4jf2t 11 месяцев назад +1

    Искал медь а нашел алмаз, спасибо за объяснения

  • @sukovilup
    @sukovilup 2 года назад +2

    + Респект . Всё разжёвываешь для тупых , типа меня)) Пасиба

  • @ogzibiba1788
    @ogzibiba1788 2 месяца назад +1

    приятный дядька

  • @tyuop
    @tyuop 5 лет назад +5

    Еще не успел посмотреть, но никогда не сталкивался с этим
    Придется смотреть завтра

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

    Спасибо 💕💕💕

  • @arteria-circumflexa6527
    @arteria-circumflexa6527 3 года назад +4

    Ждём ещё уроки. Особенно по работе с настоящей базой данных.

  • @magnemagnetiq7219
    @magnemagnetiq7219 Год назад

    Спасибо! Невероятно полезно и доходчиво! (многим нравятся юморные вставки с содержанием генитального юмора, типа, расслабляют, меня же они немного раздражают и отвлекают, но тут каждому своё и на усмотрение автора, ессно)

  • @senser1o76
    @senser1o76 2 года назад +1

    Мужик, ты лучший препод на ютубе которого я видел) однозначно подписка - все по делу и без воды, быстро четко и понятно!
    Тут у нас экшен пошел говорит :D :D :D

  • @alexkot9849
    @alexkot9849 Год назад +1

    Спасибо!

  • @phpdaun
    @phpdaun Год назад +2

    Привет, Хачатур! Восхитительно объясняешь настолько сложные конструкции простым и понятным языком. Пожалуйста, больше обучающего контента, если есть время, конечно!
    Как только заработаю свою первую копейку благодаря твоим урокам, обязательно поблагодарю тебя материально =)

    • @XpucT
      @XpucT  Год назад

      ☝Красавчик

  • @Robit666
    @Robit666 4 года назад +2

    Агрегация в linq берет результат делегата и пихает его для следующего элемента последовательности. В твоём примере с помощью агрегации ты выводил самую длинную строку

  • @deathgun5861
    @deathgun5861 4 года назад +2

    бро ты просто топ го больше уроков)

  • @yuliyazag
    @yuliyazag 10 месяцев назад +1

    спасибо вам

  • @MerdanKlychev
    @MerdanKlychev 4 года назад +4

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

    • @XpucT
      @XpucT  4 года назад +3

      Такой урок точно будет 👏

  • @bodyk90
    @bodyk90 Год назад +1

    Спасибо большое! Было очень интересно 👍
    Одно только замечание: как раз FirstOrDefault() лучше использовать, чем First(), т.к. проверка на null куда дешевле в плане ресурсов, чем очень тяжёлые исключения. Тем более, можно написать так: MyClass my = list.FirstOrDefault(x => x.Lenght > 5) ?? new MyClass(...). Тогда точно ошибку не получите, а в конструкторе можно создать какое-то особенное состояние.
    Ну а вообще, эти оба метода созданы, попросту, для разных логик.

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

    Мужик, ты меня магии научил. Спасибо большое!

  • @ddimoxa
    @ddimoxa 4 года назад +4

    Христос воскресе!
    Твои уроки это пока лучшее что я нашёл на рускоязычном сегменте.
    Будешь ли пилить ещё? Когда новые видео?
    Огромная тебе благодарность за проделанную работу.

    • @XpucT
      @XpucT  4 года назад +2

      Новые видео будут. Просто пока очень занят =)

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

      @@XpucT , прошло пол года, где же ?

  • @user-qh5og7qb8q
    @user-qh5og7qb8q 4 года назад +1

    Крутой видос, Спс!

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

    Однозначно подписота и лайк!

  • @XpucT
    @XpucT  5 лет назад +12

    Домашнее задание:
    1. Спарсить (WebClient) файл hosts, блокирующий клубнику ( github.com/StevenBlack/hosts/tree/master/alternates/porn )
    2. Записать в список (List) только те строки, которые начинаются на 0.0...
    3. Если файл C:\Windows\System32\drivers\etc\hosts существует, сделать бэкап рядом
    4. Записать антиклубничный hosts в новый hosts.
    Для тех, кому нужно посложнее:
    5. Учесть строки, которые уже есть в родном файле hosts и вписать туда антиклубничный hosts.
    6. Сделать сортировку в файле по доменным именам по алфавиту.
    7. Если встречаются и 0.0.0.0 и 127.0.0.1, то выбрать что-то одно и вписывать все по одному стандарту, например, 0.0.0.0

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

      Домашняя работа. drive.google.com/drive/mobile/folders/12HXeI7ZxdTGl3sz8yQsJeVBpv8XaRHo_

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

      У кого ссылка на ГитХаб не работает, уберите скобку в конце ссылки, не за что.

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

      @@sergeyobzorsik2ch153 поправил.
      RUclips бы кто поправил =)

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

      @@XpucT Здравствуйте, а уроки ООП будут?

  • @arzibeksatarov6476
    @arzibeksatarov6476 4 года назад +2

    урок очень хорошо

  • @user-nh1lp8xt4j
    @user-nh1lp8xt4j 2 года назад +1

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

  • @alexleb8228
    @alexleb8228 5 лет назад +5

    Спасибо большое за видео! Сделай, пожалуйста, ролик о приёме и передаче сообщений по последовательному порту в режиме реального времени

  • @user-ji5vu2ln1j
    @user-ji5vu2ln1j Год назад +1

    Видео больше для Junior Strong, которые уже начали двигаться к Middle и изучать дополнительные фишки, технологии, фреймворки...
    Спасибо большое, всё очень доходчиво, с юмором и на максимально понятных примерах!

    • @XpucT
      @XpucT  Год назад

    • @Denis_Schneider
      @Denis_Schneider Год назад

      кому нужен джун без знания линка?

  • @Dubzer
    @Dubzer 5 лет назад +2

    Не со всеми конечно твоими роликами согласен, но вот про linq классно рассказал. Зря я раньше им не пользовался) Ну а тебе спасибо, что доходчиво всё объяснил)

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

    Я думаю каждый новичок(я), рано или поздно поймет, что он пишет говнокод и придет к этому видео. Пишу значит код и понимаю, что в нем много ненужного. А LINQ-божество.

  • @YarikMud
    @YarikMud 5 лет назад +14

    Здравствуйте Хачатур! Интересно было б глянуть работу сканирования штрих кодов и qr с помощью веб камеры)

  • @oleg_avramov
    @oleg_avramov 3 года назад +2

    Ты самый крутой препод в Ютубе по программированию, даже мне школьнику это понятно, так объяснять не каждый умеет, Гоши Дударю нужно у тебя получится, это популярный кликбейтный-программист, вот бы ты ещё курсы по юнити делал!

    • @XpucT
      @XpucT  3 года назад +2

      Спойлер:
      По Unity будут ;)

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

      @@XpucT ура

  • @arteria-circumflexa6527
    @arteria-circumflexa6527 3 года назад +1

    Когда три года работал с SQL, то LINQ как родной залетает. :)

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

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

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

      1. Установи курсор в область, где нужно что-то написать
      2. Зажми Ctrl + Alt и кликни в другую область, где также нужно что-то написать
      3. Не отпускай Ctrl + Alt, если таких строк много
      👍

  • @bogdanbida8587
    @bogdanbida8587 4 года назад +2

    Максимально по делу, понятным языком, да это ж топищее

  • @GregoryArt1976
    @GregoryArt1976 2 года назад +1

    Отличная скорость. А то вечно страдаешь от тормозов. Мозг начинает отвлекаться обычно, а тут прямо на волне.

  • @user-sf4lw8je2l
    @user-sf4lw8je2l Год назад

    отличный материал, спасибо!

  • @spoki89
    @spoki89 4 года назад +2

    LINQ очень похож на sql) Спасибо за урок, круто объясняешь, очень понравилось)

    • @wmsl3944
      @wmsl3944 2 года назад

      очень похож, только вот в SQL я хорош, а вот с LINQ плачу, но с этим видосом получше начал понимать

  • @Max-qj2fh
    @Max-qj2fh 3 года назад +1

    когда с Питона на Шарп садишься очень приятно что тут такие же штуки есть

  • @user-ev2lj1eo4d
    @user-ev2lj1eo4d Год назад +1

    супер

  • @SEOmaster_real
    @SEOmaster_real 4 года назад +1

    Спасибо за уроки! Очеь надеюсь увидеть у вас урок с подробным разбором HTTP запросов!
    Поддержал материально ваш канал чтобы было больше мотивации для работы)

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

      Спасибо!

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

    Не ну в принципе логика взята из SQL. Понимая SQL можно легко адаптироваться. Названия методов взяты тоже из sql, что даже запоминать не нужно. Трудно будет тем кто не знает этого. Урок супер как всегда...

  • @superelot5316
    @superelot5316 3 года назад +5

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

  • @user-yu1dm4ud4f
    @user-yu1dm4ud4f 4 года назад +1

    Успел заметить что ты не записал newlist в label раньше тебя. Это приятное ощущение когда нашел чужую ошибку))

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

      Да, кстати =)

  • @Ivan-od5qc
    @Ivan-od5qc 3 года назад +3

    Вы очень круто объясняете. Благодарю вас за подробные разборы). Пожалуйста скажите, а будет ли разбор про IEnumerable?

  • @13karatjaws88
    @13karatjaws88 4 года назад +1

    Огромное человеческое спасибо!
    Я недавно начал изучать этот язык, у меня был калькулятор на Over 999999 строк.
    Благодаря вашим объяснениям лямбда-выражений, классов и методов, запилил за 10 мин новый калькулятор, скорее всего, конечно же, это пока тоже гавно-код, ну вот вообщем:
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    button1.Click += (s, a) => { label4.Text = Convert.ToString(Act.Addition(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } ;
    button2.Click += (s, a) => { label4.Text = Convert.ToString(Act.Subtraction(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } ;
    button3.Click += (s, a) => { label4.Text = Convert.ToString(Act.Multiplication(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } ;
    button4.Click += (s, a) => { label4.Text = Convert.ToString(Act.Division(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } ;
    }
    }
    public class Act
    {
    public static double Addition(double a, double b)
    {
    return a + b;
    }
    public static double Subtraction(double a, double b)
    {
    return a - b;
    }
    public static double Multiplication(double a, double b)
    {
    return a * b;
    }
    public static double Division(double a, double b)
    {
    if (b != 0)
    return a / b;
    else
    return 0;
    }
    }
    }
    Правда, хотелось бы ещё минимизации кода, но пока не понимаю, как это сделать, например, сам математический знак действия, отправлять аргументом метода, чтобы написать всё одним методом например, а не четырьмя, надеюсь, что вы расскажете про это. Жду новых видео!

    • @13karatjaws88
      @13karatjaws88 4 года назад

      Если, кто может подсказать, что угодно, скажу спасибо.

    • @13karatjaws88
      @13karatjaws88 4 года назад +1

      Правильно ли я оформил try catch?
      button1.Click += (s, a) => { try { label4.Text = Convert.ToString(Act.Addition(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } catch { label4.Text = "error"; } ; };
      button2.Click += (s, a) => { try { label4.Text = Convert.ToString(Act.Subtraction(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } catch { label4.Text = "error"; } };
      button3.Click += (s, a) => { try { label4.Text = Convert.ToString(Act.Multiplication(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); }catch { label4.Text = "error";} };
      button4.Click += (s, a) => { try { label4.Text = Convert.ToString(Act.Division(double.Parse(textBox1.Text), double.Parse(textBox2.Text))); } catch { label4.Text = "error";} };
      Вроде всё работает.
      Подскажите, нужны ли вообще эти методы, если весь код можно записать четырьмя строчками?
      button1.Click += (s, a) => { try { label4.Text = Convert.ToString((double.Parse(textBox1.Text) + double.Parse(textBox2.Text))); } catch { label4.Text = "error"; } };
      button2.Click += (s, a) => { try { label4.Text = Convert.ToString((double.Parse(textBox1.Text) - double.Parse(textBox2.Text))); } catch { label4.Text = "error"; } };
      button3.Click += (s, a) => { try { label4.Text = Convert.ToString((double.Parse(textBox1.Text) * double.Parse(textBox2.Text))); } catch { label4.Text = "error"; } };
      button4.Click += (s, a) => { try { label4.Text = Convert.ToString((double.Parse(textBox1.Text) / double.Parse(textBox2.Text))); } catch { label4.Text = "error"; } };

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

      Точно

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

    Смотрю уже третий ролик, прикольно) Хотя у меня 10 лет стажа программирования на C# :) Эдакий гоп-кодинг... Большой плюс за правильное произношение английских слов! Доступно - тоже да. круто. Минус наверно только за названия методов) Мне кажется, людям было бы даже проще понимать, если бы не "давайте назовем этот метод просто метод", а называть все-таки правильно - так, чтобы было понятно, что делает этот метод) Но в целом подача - огонь!)

  • @alexeygudan
    @alexeygudan 4 года назад +3

    Привет, будет ли ролик о оптимизации программы? Знаю, что вы заняты, но если хоть когда-то будет, то скажите)

  • @ueelalinn
    @ueelalinn 2 года назад +1

    FirstOrDefault, SingleOrDefault это не говнокод, а вполне себе полезный паттерн, эти методы намного предпочтительнее, чем First, Single потому что они безопасны. Aggregate используется для более сложных целей, в ваших примерах достаточно Select, Count. Ну и стоило сказать самое главное про linq. Это то, что он выполняется лениво. То есть методы linq будут выполнены только при вызове методов перечисления, таких как ToList, Count, First и т. д. Это важно, так как если написать методы linq, потом модифицировать исходную коллекцию, и только потом сделать перечисление, то методы linq будут применяться к коллекции уже после модификации. В ваших примерах перечисление происходило внутри string.Join. но работа конечно большая проделана, с удовольствием досмотрел

  • @abai8955
    @abai8955 2 года назад +2

    Про метод Take(); забыли. Крутая штука для пагинации, вместе со Skip();

  • @user-mn2po8ns2z
    @user-mn2po8ns2z 3 года назад +1

    збс мужик