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

Sdílet
Vložit
  • čas přidán 26. 04. 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
  • Věda a technologie

Komentáře • 73

  • @amantinband
    @amantinband  Před 2 měsíci +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 Před 2 měsíci +8

    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 Před 2 měsíci +5

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

  • @PaulPetersVids
    @PaulPetersVids Před 2 měsíci +7

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

  • @LucasAlves1
    @LucasAlves1 Před 2 měsíci +4

    Phenomenal and comprehensive guide! Incredibly helpful! Thanks

  • @youcontaromulo-ye5vs
    @youcontaromulo-ye5vs Před 10 dny

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

  • @ruichen1003
    @ruichen1003 Před 2 měsíci +1

    Marvelous, love such style of video that introduces bcl

  • @_OsamaAmir
    @_OsamaAmir Před 2 měsíci +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 Před 2 měsíci +1

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

  • @BGivo
    @BGivo Před 2 měsíci

    This video was perfect, thank you!

  • @nickbarton3191
    @nickbarton3191 Před 2 měsíci +1

    Extraordinary !

  • @SmittyRG
    @SmittyRG Před 2 měsíci

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

  • @MAdeelFaryad
    @MAdeelFaryad Před 2 měsíci

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

  • @MDimitrovv
    @MDimitrovv Před 2 měsíci

    This is gold. Thank you for the video :)

  • @xrysav11
    @xrysav11 Před 2 měsíci

    Great work. 👏👍

  • @nove1398
    @nove1398 Před 2 měsíci

    Learned a bit about the lesser used LINQ extensions.

  • @mefju08
    @mefju08 Před 2 měsíci +1

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

    • @amantinband
      @amantinband  Před 2 měsíci +4

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

  • @greekplayback
    @greekplayback Před 2 měsíci

    תודה 😃😃

  • @nihil_._sum
    @nihil_._sum Před 7 dny

    nice content

  • @tanglesites
    @tanglesites Před 2 měsíci

    Awesome! *****

  • @BeatusCanis
    @BeatusCanis Před 2 měsíci

    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  Před 2 měsíci

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

  • @mryoutuser
    @mryoutuser Před měsícem

    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

  • @Buutyful
    @Buutyful Před 2 měsíci +2

    cool thx

  • @tunchy
    @tunchy Před 2 měsíci

    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 Před 2 měsíci

    Awesome

  • @chyrt
    @chyrt Před 17 dny

    goated!

  • @tyomidi
    @tyomidi Před měsícem

    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 🙂

  • @CodesHunter
    @CodesHunter Před měsícem

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

  • @matthewdev
    @matthewdev Před 2 měsíci

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

  • @Andy01010
    @Andy01010 Před 2 měsíci

    Design patterns videos perhaps?

  • @meetingattender8132
    @meetingattender8132 Před měsícem

    I love LINQPad

  • @djupstaten2328
    @djupstaten2328 Před měsícem

    I think I broke my subscribe button this time.

  • @alexlo5655
    @alexlo5655 Před 2 měsíci

    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  Před 2 měsíci

      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

  • @ricodomonkos3053
    @ricodomonkos3053 Před 2 měsíci +1

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

  • @theodorosdoukoulos9310
    @theodorosdoukoulos9310 Před 2 měsíci

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

    • @amantinband
      @amantinband  Před 2 měsíci

      It's available for Patrons (link in description)

  • @daniyalaslam2370
    @daniyalaslam2370 Před 2 měsíci

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

  • @GigaFro
    @GigaFro Před 2 měsíci

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

    • @amantinband
      @amantinband  Před 2 měsíci

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

    • @GigaFro
      @GigaFro Před 2 měsíci

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

  • @sunefred
    @sunefred Před měsícem

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

  • @XYZ-gr2iu
    @XYZ-gr2iu Před 2 měsíci

    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  Před 2 měsíci

      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 Před 2 měsíci

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

  • @OllyWood688
    @OllyWood688 Před 2 měsíci

    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 Před 2 měsíci +3

      ToLookup is immediate execution and GroupBy is deferred execution

    • @OllyWood688
      @OllyWood688 Před 2 měsíci

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

  • @user-nw8oi9vn9y
    @user-nw8oi9vn9y Před 2 měsíci

    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  Před 2 měsíci

      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

  • @Deepz007
    @Deepz007 Před 2 měsíci

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

  • @stevenstone307
    @stevenstone307 Před 2 měsíci

    Holy fuck that thumbnail

  • @heintaljaard8210
    @heintaljaard8210 Před 2 měsíci

    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  Před 2 měsíci +1

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

  • @RiversJ
    @RiversJ Před 23 dny +2

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

  • @rankarat
    @rankarat Před 2 měsíci

    Audio is terrible

  • @Denvercoder
    @Denvercoder Před měsícem

    Does that dump method work with more complex objects?