LINQ и работа с коллекциями в C# - Учим Шарп #20
HTML-код
- Опубликовано: 24 авг 2024
- LINQ и работа с коллекциями в языке программирования C#
На этом занятии мы познакомимся с языком запросов LINQ в языке программирования C# и научимся с его помощью обрабатывать коллекции. Он позволяет формировать запросы похожие на SQL для коллекций реализующих интерфейс IEnumerable и не только. Рассмотрим стандартную форму записи, а также методы расширений LINQ. Изучим основные методы, такие как Select, Where, OrderBy, GroupBy, Reverse, All, Any, Contains, Distinct, Count, Sum, Average, Min, Max, Take, Skip, Concat, First, FirstOrDefault, Single, SingleOrDefault, ElementAt, ElementAtOrDefault, Last, LastOrDefault.
-----------
ПОДПИШИСЬ на соцсети:
🔴 TELEGRAM: bit.ly/tg_code...
🔴 VK: bit.ly/vk_code...
🔴 INSTAGRAM: bit.ly/inst_co...
🔴 Яндекс Дзен: bit.ly/zen_cod...
🔴 FACEBOOK: bit.ly/fb_code...
🔴 TWITTER: bit.ly/twit_cod...
🔴 Мой блог: bit.ly/site_co...
-----------
ПОДДЕРЖИ развитие CODE BLOG:
💲 Донат: bit.ly/donate_...
💲 Спонсорство: bit.ly/patreon...
-----------
СМОТРИ мои обучающие курсы:
👉 УЧИМ ШАРП: bit.ly/cs_code...
👉 ПРАКТИЧЕСКИЙ ИНТЕНСИВ #1: bit.ly/fit_cod...
👉 ПРАКТИЧЕСКИЙ ИНТЕНСИВ #2: bit.ly/crm_cod...
👉 СТРУКТУРЫ ДАННЫХ: bit.ly/ds_code...
👉 АЛГОРИТМЫ СОРТИРОВКИ: bit.ly/sort_co...
👉 ОТВЕТЫ НА ВОПРОСЫ: bit.ly/faq_cod...
👉 IT ПЕРЕОЗВУЧКА: bit.ly/resound...
👉 НЕЙРОННАЯ СЕТЬ: bit.ly/ai_code...
👉 ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ: bit.ly/pattern...
👉 CODE REVIEW: bit.ly/review_...
👉 CLR via C#: bit.ly/clr_cod...
-----------
Кстати, меня зовут Шванов Вадим, и я профессиональный .NET разработчик с 2011 года и автор этого канала CODE BLOG. Я рассказываю про IT технологии и веду абсолютно бесплатный курс по языку C# с нуля. В его рамках мы рассмотрим как базовый синтаксис языка C Sharp, так и его практическое применение и специальные технологии, такие как ASP .NET, .NET Core, ASP.NET MVC, Unity, WPF, структуры данных и алгоритмы, с#, dotnet, паттерны проектирования, информатика, csharp, программное обеспечение и многое другое. Для меня важно не только показать практическое применение языка си шарп, но и объяснить основную идею и базовые понятия Computer Science. В качестве основного инструмента разработки используется Visual Studio c# и проекты на Visual c#. Если вам нравятся такие каналы как хауди хо, айти борода, Soer или ExtremeCode, то здесь вам точно понравится.
-----------
#codeblog #программирование #csharp #ityoutubersru #программист #разработка
На этом занятии мы познакомимся с языком запросов LINQ в языке программирования C# и научимся с его помощью обрабатывать коллекции. Он позволяет формировать запросы похожие на SQL для коллекций реализующих интерфейс IEnumerable и не только. Рассмотрим стандартную форму записи, а также методы расширений LINQ. Изучим основные методы, такие как Select, Where, OrderBy, GroupBy, Reverse, All, Any, Contains, Distinct, Count, Sum, Average, Min, Max, Take, Skip, Concat, First, FirstOrDefault, Single, SingleOrDefault, ElementAt, ElementAtOrDefault, Last, LastOrDefault.
Бархатный, приятный для ушей голос, грамотный учитель, отличный урок. Спасибо.
Вот серьезно, никогда не мог подумать, что у меня хороший голос. Но спасибо за добрые слова )
"Item такой что" - лучшее объяснение лямбда методов, что я встречал. Коротко и понятно )
Спасибо за качественные уроки.
Очень рад, что нравятся )
отличные уроки, очень интересно смотреть
зачем нужны методы массивов и коллекций если есть линк! это просто космос! спасибо за урок!
Пожалуйста, но методы массива работают быстрее. линк достаточно ресурсозатратный. но да, очень удобный, мне тоже нравиться )
@@CODEBLOG а как понять что он более или менее ресурсоемкий?
нужно посмотреть ассемблерный код и сравнить количество команд ))
@@CODEBLOG То выходит если речь идет об оптимизации или рефакторинге, то лучше использовать методы массивов?
Затем, что задняя совместимость.
спасибо за ваши уроки!они очень крутые!
Отличные уроки.
Спасибо ) Очень рад, что нравятся )
Можно было еще кстати рассказать про то, что при нативном написании запрос обязательно должен заканчиваться select или group...by. А так же упомянуть про отложенное выполнение запросов, т.е. если к примеру до foreach мы поменяли array[0], то в будет браться уже новое значение, а не то, которое мы передали в запрос...
Спасибо, хорошие замечания. Но и так уроки длинные получаются, и обо всем все равно не получится рассказать. все придет с опытом )
зачем эти точки в конце ставить
@@clickclack3375 вызов метода
Реально полезное видео, спасибо!!!
Вадим,вот вам совет:напишите эксепшн для камеры)
для продвижки
Спасибо за уроки))
Будет ли продолжение?
Более подробный разбор тем или другие направления?
Говорил, что будет. Но как я понимаю, роликов нету из за релокейта в Чехию. На канале еще нету Unity и еще ряда технологий, так что надеюсь продолжение скоро будет.
27:34 я пытался не смеяться честно!
хД)))) Ну с кем не бывает))
ХАХАХХАХАХАХАХАХХААХХАХПХАХАХАХА
как всегда -познавательно)
спасибо , супер видео !!! (მადლობა, მაგარი ვიდეოა)
Всегда пожалуйста ) очень рад, что нравится )
Попытался первый раз поработать с GitHub. Сделал всё точно так же как в видео, но в итоге в репозитории только два файла .gitattributes и .gitignore.
Думал может сделал что-то не так. Попробовал ещё раз, и ещё раз, но в результате итог всегда один, в гит падают только два файла. В чем проблема?
94 var intersect = array.Intersect(array2); // выдает странный результат, как-будто я использовал select DISCTINCT value from somewhere where something not in()
Спасибо!
11:35 ахахах "делил" людей на мужчин, женщин и неопределившихся ещё до того, как это стало мэйнстримом)))
А как выполнить выборку из двух классов?
Есть ли разница в производительности и логике между LINQ userClass.Sum() и userClass.Aggregation((m.n) => m+n)? Есть ли какой-нибудь софт чтобы отследить LINQ запрос дабы получить результирующий SQL-запрос по которому в конечном итоге будет общение с БД? Спасибо за урок!
Затестил скорость суммирования. Sum работает быстрее
Выполняется создание коллекции из 100000000 элементов
Выполняем суммирование с помощью Sum
Результат выполнения 49999089,5334204. Время выполнения 00:00:00.6107488
Выполняем суммирование с помощью Aggregate
Результат выполнения 49999089,5334204. Время выполнения 00:00:00.9507005
По поводу Linq посмотри в сторону LINQ to SQL Debug Visualizer или если не нужны подробности, то можно посмотреть свойство CommandText
@@CODEBLOG Спасибо :-)
54:40
У нас есть entity fraemwork, который используется для создания и работы с БД. У нас есть Linq, с помощью которого мы тоже можем делать то же самое. Тогда возникает закономерный вопрос: а зачем нам нужно два инструмента, которые выполняют одни и те же функции? Или я что-то не так понял? Поясните мне, пожалуйста.
P. S. Работа с Linq на примере коллекций - не очень пример. Так как он используется для работы непосредственно с БД, то лучше было бы найти в интернете учебную базу данных и непосредственно на ней показать возможности - это лично мое мнение.
Это совсем не одно и то же. Entity Framework - это представление структуры базы данных в языке программирования. Для простоты можно воспринимать как таблицы в бд (ООООООчень грубая аналогия). LINQ - это манипуляция данными, возможность отфильтровать, получить и вывести необходимые данные. как язык запросов в БД. они служат для разных целей
в java есть что то подобное?
Stream API
Просмотрел первые 20 минут видео. Из 20 минут 15- костноязычное чтение комментов сонным голосом. И это на 2 часа растянется? Ну нет, спасибо.
Скорость увеличь на 1.5 и смотри
Зачем делать products.ElementAt(5), если можно products[5]?
Можно и так ) но такая возможность есть )
Долгоооооооо.......
привет
почему реклама каждые 2 минуты?
меня одного напрягает переменная var ?
а чем напрягает то? )) очень даже удобно и безопасно )
Нет, но судя по Вадиму в С# так часто делают.
@@CODEBLOG просто, я не знал что можно нажать чудо кнопку, и студия сама напишет имя класса или что там скрывается. Поэтому и напрягало, что я не знал откуда это все берется