Every Single LINQ Extension Method With Examples | .NET & C# Essentials

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • In today's video we're going to cover every single LINQ extension method with examples.
    We're going to cover immediate execution vs deferred execution - what's the difference between them and whether or not immediate execution necessarily means iterating over the entire list and realizing the LINQ query.
    Connect with me on 'em socials:
    Twitter: / amantinband
    LinkedIn: / amantinband
    GitHub: github.com/amantinband
    Check out all my courses on DomeTrain:
    dometrain.com/author/amichai-...
    Support the channel and get the source code:
    / amantinband
    Thanks for watching, don't forget to like & comment & subscribe! ❤️ 💻
    00:00. Opening
    01:14. Where
    01:40. OfType
    02:24. Skip
    02:35. Take
    02:42. SkipLast & TakeLast
    02:58. SkipWhile & TakeWhile
    04:14. Select
    04:36. Select with index
    05:01. SelectMany
    06:41. SelectMany with index
    07:04. Cast
    07:20. Chunk
    07:58. Deferred Execution vs Immediate Execution
    10:55. Any
    11:20. All
    11:44. Contains
    11:55. Append & Prepend
    12:41. Count
    13:34. TryGetNonEnumeratedCount
    14:51. Max
    15:16. MaxBy
    17:02. Min & MinBy
    17:19. Sum
    17:59. Average
    18:06. LongCount
    18:20. Aggregate (overload 1)
    19:58. Aggregate (overload 2)
    20:20. Aggregate (overload 3)
    21:43. First & FirstOrDefault
    22:34. Single & SingleOrDefault
    24:06. Last & LastOrDefault
    24:38. ElementAt & ElementAtOrDefault
    25:04. DefaultIfEmpty
    25:41. ToArray
    25:50. ToList
    25:57. ToDictionary
    26:29. ToHashSet
    26:35. ToLookup
    27:46. ToEnumerable & ToQueryable
    28:32. Enumerable.Range
    29:28. Enumerable.Repeat
    29:38. Enumerable.Empty
    30:12. Distinct
    30:26. DistinctBy
    30:59. Set Operations Theory (Union, Intersect, Except)
    32:27. Union
    32:37. Intersect
    32:44. Except
    32:52. UnionBy & IntersectBy & Except
    33:40. SequenceEqual
    34:26. Zip
    35:43. Join
    37:05. GroupJoin
    37:38. Concat
    38:05. GroupBy
    39:25. Order
    39:41. OrderBy
    40:10. OrderDescending & OrderByDescending
    40:21. ThenBy & ThenByDescending
    41:20. Reverse
    41:36. PLINQ
  • НаукаНаука

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

  • @amantinband
    @amantinband  3 месяца назад +11

    Cheers 🥂
    01:14. Where
    01:40. OfType
    02:24. Skip
    02:35. Take
    02:42. SkipLast & TakeLast
    02:58. SkipWhile & TakeWhile
    04:14. Select
    04:36. Select with index
    05:01. SelectMany
    06:41. SelectMany with index
    07:04. Cast
    07:20. Chunk
    07:58. Deferred Execution vs Immediate Execution
    10:55. Any
    11:20. All
    11:44. Contains
    11:55. Append & Prepend
    12:41. Count
    13:34. TryGetNonEnumeratedCount
    14:51. Max
    15:16. MaxBy
    17:02. Min & MinBy
    17:19. Sum
    17:59. Average
    18:06. LongCount
    18:20. Aggregate (overload 1)
    19:58. Aggregate (overload 2)
    20:20. Aggregate (overload 3)
    21:43. First & FirstOrDefault
    22:34. Single & SingleOrDefault
    24:06. Last & LastOrDefault
    24:38. ElementAt & ElementAtOrDefault
    25:04. DefaultIfEmpty
    25:41. ToArray
    25:50. ToList
    25:57. ToDictionary
    26:29. ToHashSet
    26:35. ToLookup
    27:46. ToEnumerable & ToQueryable
    28:32. Enumerable.Range
    29:28. Enumerable.Repeat
    29:38. Enumerable.Empty
    30:12. Distinct
    30:26. DistinctBy
    30:59. Set Operations Theory (Union, Intersect, Except)
    32:27. Union
    32:37. Intersect
    32:44. Except
    32:52. UnionBy & IntersectBy & Except
    33:40. SequenceEqual
    34:26. Zip
    35:43. Join
    37:05. GroupJoin
    37:38. Concat
    38:05. GroupBy
    39:25. Order
    39:41. OrderBy
    40:10. OrderDescending & OrderByDescending
    40:21. ThenBy & ThenByDescending
    41:20. Reverse
    41:36. PLINQ

  • @drhdev
    @drhdev 3 месяца назад +9

    Dude this is the best video I have ever watched on this subject. You crushed this. No stumbling, no half-assing, no confusion. You were well prepared and taught everything perfectly. Just wanted to comment to let you know.

  • @darrenleeyx
    @darrenleeyx 3 месяца назад +5

    There's no reason why I should not like this video. Amazing effort, thank you Amichai 🙏

  • @PaulPetersVids
    @PaulPetersVids 3 месяца назад +7

    Liked and already subscribed. Am waiting for the PLINQ course! Never heard or used PLINQ but sounds useful. Thanks you!

  • @LucasAlves1
    @LucasAlves1 3 месяца назад +4

    Phenomenal and comprehensive guide! Incredibly helpful! Thanks

  • @_OsamaAmir
    @_OsamaAmir 3 месяца назад +1

    Best LINQ video in my opinion, and the only one you need to understand the topic, I just clicked on a whim, but I am glad that I did, thank you so much for making it.

  • @Radictor44
    @Radictor44 3 месяца назад +1

    I'm not a developer, but I do write code to test software, and I learnt some very nice things here. Great video!

  • @SmittyRG
    @SmittyRG 3 месяца назад

    Best LINQ video ever. I’ve been using LINQ for a long time and didn’t know half of these methods. 😃👍🏼

  • @ruichen1003
    @ruichen1003 3 месяца назад +1

    Marvelous, love such style of video that introduces bcl

  • @BGivo
    @BGivo 3 месяца назад

    This video was perfect, thank you!

  • @MAdeelFaryad
    @MAdeelFaryad 3 месяца назад

    thanks for covering all the LINQ methods 🙌🙌🙌🙌 . waiting for PLINQ

  • @nickbarton3191
    @nickbarton3191 3 месяца назад +1

    Extraordinary !

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

    This is gold. Thank you for the video :)

  • @nove1398
    @nove1398 3 месяца назад

    Learned a bit about the lesser used LINQ extensions.

  • @xrysav11
    @xrysav11 3 месяца назад

    Great work. 👏👍

  • @youcontaromulo-ye5vs
    @youcontaromulo-ye5vs Месяц назад

    Thanks, man... no bullshit... just an explanation...

  • @returnZeroo
    @returnZeroo 23 дня назад

    Your effort on this 🥰

  • @mefju08
    @mefju08 3 месяца назад +1

    Great work. Thanks a lot!
    Consider making a tutorial about all types of lists :)

    • @amantinband
      @amantinband  3 месяца назад +4

      I should be filming "every single collection type" tomorrow 🤙

  • @tanglesites
    @tanglesites 3 месяца назад

    Awesome! *****

  • @nihil_._sum
    @nihil_._sum Месяц назад

    nice content

  • @Buutyful
    @Buutyful 3 месяца назад +2

    cool thx

  • @BeatusCanis
    @BeatusCanis 3 месяца назад

    Amazing video! So much effort; thank you.
    Once small point, I would cover the overload of Zip that takes a collection and a Func as an argument.
    That is probably one of the more powerful functions in Linq and strangely very few seem to know about it (it's up there with Aggregate)!
    One of my favorites is to check if a list is ordered (there are probably simpler ways but this is pretty show-offish) :
    var isOrdered = !list1.Zip(list1.Skip(1), (a,b) => a.Val

    • @amantinband
      @amantinband  3 месяца назад

      Can’t believe I didn’t know about this until now 🤯

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

    I'm sure this has been asked many times but what do you use to draw the arrows and boxes on the screencast?
    Brilliant video btw - I was blinded by the pretty colours 🙂

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

    Your explanations are really simple enough and easy to listen and follow. I also have a question, what is the on screen drawing tool you are using?

  • @xerxesking6734
    @xerxesking6734 3 месяца назад

    Awesome

  • @greekplayback
    @greekplayback 3 месяца назад

    תודה 😃😃

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

    Thanks for the video, I have a question for Enumarable.Empty when you said the method is static, and every time we will get a reference to same collection. is it because *static* keyword ?
    Thank you again

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

    Amazing video one of the best about LINQ Extension Method
    but could you please share readme markdown file
    thank you alot for your effort

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

    I think I broke my subscribe button this time.

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

    What are you using to get realtime visualization of the collections?

  • @chyrt
    @chyrt Месяц назад

    goated!

  • @ricodomonkos3053
    @ricodomonkos3053 3 месяца назад +1

    Hi! Amichai! Which tool are you using for drawing boxes and arrows during the presentation? :)

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

    @amantinband Where can we find the reactive readme that you have in your video ?

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

      It's available for Patrons (link in description)

  • @daniyalaslam2370
    @daniyalaslam2370 3 месяца назад

    Hi, thanks for creating video, i have watched the complete video, also can you please create video on all ef core methods.?

    • @amantinband
      @amantinband  3 месяца назад

      That’s a great idea. Added to my backlog

    • @daniyalaslam2370
      @daniyalaslam2370 3 месяца назад

      @@amantinband Great. Thanks a lot.

  • @alexlo5655
    @alexlo5655 3 месяца назад

    Great work. Thank you very much to explain here in a concise manner.
    But there are a lot of courses like this on Pluralsight and Udemy. Anything new here?
    Do you have the plans to explore/explain Dynamic LINQ and using LINQ in async/await?

    • @amantinband
      @amantinband  3 месяца назад

      I've honestly never taken a LINQ course, so can't compare. Main difference is it's free 🙂
      The video in 2 weeks is about PLINQ which from my experience most devs aren't familiar with

  • @GigaFro
    @GigaFro 3 месяца назад

    Amichai. Please share your terminal set up. Especially the vim bindings in your terminal pls!

    • @amantinband
      @amantinband  3 месяца назад

      My setup is available here: github.com/amantinband/dotfiles

    • @GigaFro
      @GigaFro 3 месяца назад

      @@amantinband Awesome. Thanks for the prompt reply and I love your content btw! (bought your content on dometrain :) )

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

    I love LINQPad

  • @Andy01010
    @Andy01010 3 месяца назад

    Design patterns videos perhaps?

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

    Off topic: How did you make ZoomIt draw rainbow-colored squares and arrows?

  • @XYZ-gr2iu
    @XYZ-gr2iu 3 месяца назад

    Hi Amichai,
    I want to learn C# and ASP to build web application. Which course do you recommend? Do you have of your own, I like the way you explain. From absolute beginner to Mastery as a beginner.

    • @amantinband
      @amantinband  3 месяца назад

      Hey, I don't have such a course yet. If you want to build a system following clean architecture then I'd definitely recommend taking my 2 clean architecture courses. But I wouldn't take them if you're still lacking knowledge in the basics of C#/ASP.NET

    • @SXsoft99
      @SXsoft99 3 месяца назад

      ASP is a framework built on top of the C# language last i checked

  • @OllyWood688
    @OllyWood688 3 месяца назад

    So is the only difference between ToLookup() and GroupBy() having an indexer?
    Also, given that there's a Zip() method, to effectively Unzip() a ValueTuple[] into a Tuple, is there an ootb LinQ approach, that does not involve multiple enumeration?

    • @pluto7562
      @pluto7562 3 месяца назад +3

      ToLookup is immediate execution and GroupBy is deferred execution

    • @OllyWood688
      @OllyWood688 3 месяца назад

      Aaaah okay there's the detail I overlooked. Thanks :)

  • @user-nw8oi9vn9y
    @user-nw8oi9vn9y 3 месяца назад

    How can I know if a linq method is immediately executed or not - other than looking it up or memorizing it? I hovered my mouse over some linq methods and I didn't see anything that would indicate as such. Thanks.

    • @amantinband
      @amantinband  3 месяца назад

      Documentation mostly. You can use common sense for most methods (like count, contains must be immediately executed etc). Plus all methods prefixed with To (ToArray etc’) will be immediately executed as well

  • @stevenstone307
    @stevenstone307 3 месяца назад

    Holy fuck that thumbnail

  • @heintaljaard8210
    @heintaljaard8210 3 месяца назад

    Typically, these long formats get boring and its easy to stop following. Not the case for this one! Great video, quite a few LINQ methods that you don't typically use.
    Side note - what do you use to draw on the screen? That is really useful?

    • @amantinband
      @amantinband  3 месяца назад +1

      Amazing to hear. I use presentify for drawing (it's MacOS only)

  • @Deepz007
    @Deepz007 3 месяца назад

    Great video, just an observation, at few important places you seem to be running too fast.

  • @bobweiram6321
    @bobweiram6321 2 дня назад

    Man, too many Ads!

  • @RiversJ
    @RiversJ Месяц назад +2

    Great video, horrible thumbnail to the point it actively repels me.

  • @rankarat
    @rankarat 3 месяца назад

    Audio is terrible

    • @amantinband
      @amantinband  3 месяца назад

      damn, anyone else think so?

    • @allyssonlp
      @allyssonlp 3 месяца назад +2

      Nope, audio is pretty good

    • @PaulPetersVids
      @PaulPetersVids 3 месяца назад

      audio was fine for me

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

    Does that dump method work with more complex objects?