Це відео не доступне.
Перепрошуємо.

C# Delegates & Lambdas Explained

Поділитися
Вставка
  • Опубліковано 5 вер 2024

КОМЕНТАРІ • 118

  • @RezaERabbyRER
    @RezaERabbyRER 3 роки тому +22

    This channel deserves more subs. Such a nice and underrated guy he is!

    • @RawCoding
      @RawCoding  3 роки тому +4

      Thanks, we’ll get there

  • @mikhailkh8560
    @mikhailkh8560 2 роки тому +4

    Man - you make things so clear with one single sentence - "delegates is kind interface of function".
    Awesome, I search for it literally a years! Now it so simple!

    • @RawCoding
      @RawCoding  2 роки тому

      Glad I could help)

    • @yanhuang4911
      @yanhuang4911 2 місяці тому

      He explained it in the Java way ,before lambda expressions was introduced, anonymous functions are written as implementations of interface

  • @limitless6572
    @limitless6572 2 роки тому +2

    I want to master c# and i did strugle with delegates, but you made it so simple, many thanks dude

  • @seanrendall5495
    @seanrendall5495 Рік тому +1

    This helped me wrap my head around delegates, thanks a lot!

  • @user-oq9kn8zd2y
    @user-oq9kn8zd2y 2 роки тому +2

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

    • @RawCoding
      @RawCoding  2 роки тому

      Спасибо, рад что мог помочь)

  • @MrAdamkimbo
    @MrAdamkimbo 3 роки тому +2

    I learned a great deal from this. You're providing a great service with this channel. Many thanks!

  • @ivanvincent7534
    @ivanvincent7534 2 роки тому +1

    Understand delegates, generic delegates, anonymous functions, lambdas and a general sense of the complexity hidden in IL. However the last 3 minutes on what is a closure wasn't clear for me.. Thanks for your content.

    • @RawCoding
      @RawCoding  2 роки тому

      Closure is a variable in the lambda which comes from the outside, if you mark a lambda to be static closure won’t be allowed .

  • @sivasankaria1090
    @sivasankaria1090 3 роки тому +1

    It really helps to understand the delegates in better way.. Thanks for that.
    Need Lamda tutorial in advanced manner like this .... :)

    • @RawCoding
      @RawCoding  3 роки тому +1

      Cheers and I mean we kinda dissected the lambda as well

    • @sivasankaria1090
      @sivasankaria1090 3 роки тому +1

      @@RawCoding Why cann't u get deeper into firebase and its tech with angular ?

    • @RawCoding
      @RawCoding  3 роки тому

      I hope it doesn’t come as a surprise, but just because I do tutorials on tech that I know, that doesn’t mean I know everything. I don’t use angular and I don’t understand why other do, vuejs is so much better. As for firebase, I know a little bit so you can expect some content about it.

  • @apofisz1
    @apofisz1 3 роки тому +2

    it is the best delegate video ever!

  • @mebtuabebe8428
    @mebtuabebe8428 Рік тому +1

    Delegates put right! This tutorial would have been the answer if i had asked delegates what they really are.

  • @kpro9047
    @kpro9047 3 роки тому +3

    Thanks for this. I really appreciate your teaching method. I am an advanced beginner trying to get to the next level. I found your video to be super clear and to have just the right amount of background detail to fill in the gaps in my understanding of basics.

  • @Gazda99
    @Gazda99 3 роки тому +2

    Wow this is very good job, first video about delegates when someone finally describes it in a easy but accurate way. Keep doing that :D

    • @RawCoding
      @RawCoding  3 роки тому

      Thank you, glad you like it )

  • @Asurow
    @Asurow 2 роки тому

    Out of all the video in youtube about interface and delegates. I mangaged to differentiate and undestand clearly from this video. Should include interface in the video name. Thank you.

  • @leafarlua
    @leafarlua 3 роки тому +1

    Your content is amazing... And there is so much! Thank you a lot, it really helped me understand better what are delegates.

  • @arash2229
    @arash2229 14 днів тому

    Nice explanation. ty buddy 😊❤

  • @danurarya0823
    @danurarya0823 Рік тому

    Thanks, this video help me understand better about delegate

  • @sunnypatel1045
    @sunnypatel1045 3 роки тому +1

    Mate I watched many videos this week and this is flawless ! Thank you

  • @stefanbogdanovski7678
    @stefanbogdanovski7678 3 роки тому +3

    This is a great content and you represented it very well! If I may ask for your opinion, what would be the most wanted skills for a .NET full stack postion? Cheers!

    • @RawCoding
      @RawCoding  3 роки тому +4

      - attitude to learn - if they don't know .net or any other tech that's part of the "full stack" they can just learn it. This can be shown by trying a lot of different things, or personal projects, some kinds of participation in the community.
      - problem solving skills - this knowledge is transferable between all parts of life and abstract enough to mean if you are good at problem solving in 1 area, you are most likely going to be as good in another once you learn the basics. This is quite hard to gauge in people, but is generally a skill that you learn throughout life; computer companies sometimes just hire Maths and Physics graduates because the problems they solve are a lot harder than the ones we programmers face.

    • @stefanbogdanovski7678
      @stefanbogdanovski7678 3 роки тому

      Thanks a lot!

  • @tisurmaster
    @tisurmaster 3 роки тому +1

    delegates, interfaces, abstract classes, polymorphism.. oh my!

  • @mohammadzakareatfaili9566
    @mohammadzakareatfaili9566 3 роки тому +2

    Great course specially when digging into real code generated thanks a lot.
    Could you please provide real world example not several video series, I always understand the concept but when coding I don't know where to apply specially in delegates and threading.

    • @RawCoding
      @RawCoding  3 роки тому

      Func Factory
      You can have a parameter like that which will create a fresh instance of an object each time it needs it, and you can supply different creation processes.

    • @mikhailkh8560
      @mikhailkh8560 2 роки тому +1

      Delegates is a great thing, but not all tasks require to use it. There are plenty of topics where you could solve your thing with interfaces.
      Any way for real examples - google for observer pattern in C#.
      Also i found this wery useful with view-controller concept where you inject function of controller inside view. For example one class describe form with a button - viewer, another class contains function which should be invoke when user click.
      And you could use same form with many controllers, or you could replace controller, or test controller without interface, cause both are indepent - google for dependency injection.

  • @PivaWillianS
    @PivaWillianS 3 роки тому +1

    Just to be technical about it the return type isn't part of the method's signature,
    but besides this really good video.

  • @oleksandrdidenko1872
    @oleksandrdidenko1872 3 роки тому

    Suggestion for the next video explanation - expression, expression tree and other related staff. Interesting to know your self specific explanation :)

    • @RawCoding
      @RawCoding  3 роки тому

      I’ve already covered this topic, check the playlist

    • @oleksandrdidenko1872
      @oleksandrdidenko1872 3 роки тому

      @@RawCoding I missed it! Thanks))

  • @StreetBladerBloke
    @StreetBladerBloke 3 роки тому

    Super technical explanation..thanks for sharing

    • @RawCoding
      @RawCoding  3 роки тому

      Thank you for watching

  • @rajenlenka7806
    @rajenlenka7806 3 роки тому +1

    Only 60 Percent Gratitude This Time ...+5 for Keepin interest ... :) ...I will try again :)

  • @danielchoo5560
    @danielchoo5560 2 роки тому +1

    Hi, it is great tutorial. Would like to request have a tutorial regarding UI Thread, Window Form Control Method Invoke and etc.

    • @RawCoding
      @RawCoding  2 роки тому

      You’re welcome and no ty

  • @hugebug4ever
    @hugebug4ever Рік тому

    Very clear, Thanks~!

  • @Morteza7220
    @Morteza7220 7 місяців тому

    thank you

  • @facejets
    @facejets 3 роки тому +1

    If you're saying "marginally" at around 11:40, you have the wrong definition for "marginal". To soften the blow, I'll point out that these first-class function doohickeys are finally starting to click for me. Thanks! Subscribed immediately.

    • @RawCoding
      @RawCoding  3 роки тому

      Aha yes, the word should be drastically cheers :D

  • @BasiliskSupreme
    @BasiliskSupreme 2 роки тому

    Hey thanks man . Probably one of best tutorials to understand delegate - especially the behind the screen - nuts and bolts. Quick question though:
    Lets say I have a second method Main() which is overloaded, then I get a run-time error as the Delegate is not able to resolve which lambda function to target. How do you fix this? I tried using the parameters of GetMethod() but no avail . Please help !!

  • @isachells9859
    @isachells9859 2 роки тому +1

    Thx

  • @farmanguliyev
    @farmanguliyev 3 роки тому +3

    The concept is very easy.

    • @RawCoding
      @RawCoding  3 роки тому +3

      Not for everyone

    • @elan2199
      @elan2199 3 роки тому

      Not 4 me. I'm dumb af lul.

    • @amjad-se
      @amjad-se 3 роки тому

      Not 4 me either :)

  • @vuongvu5134
    @vuongvu5134 3 роки тому +1

    How do you enable to auto-generate of the interface implementation. Also to change the color coding of the interfaces/classes to be blue (mine is white)? Also I'm not getting the references appear for my classes/methods?

  • @SaveTheHedgehog
    @SaveTheHedgehog 2 роки тому +1

    what setting do you use that transforms the => to an arrow (symbol)? do they call it fira code?

    • @RawCoding
      @RawCoding  2 роки тому +1

      They are called ligatures and are usually built in to the font you use, I use JetBrains Mono

    • @SaveTheHedgehog
      @SaveTheHedgehog 2 роки тому

      @@RawCoding aha, thanks. I will figure it out.

  • @Sindrijo
    @Sindrijo 2 роки тому +1

    Hi there, great video. I have a question for you. I've been trying to find examples an actual practical use delegate combination (outside of subscribing to an event) but I haven't been able to which makes me think it is just an inherited/extra feature of how the language designers wanted the event subscription syntax to be (+= and -=). I don't think I've ever seen an example in real-life code where a delegate is passed around as an argument and other delegates are added to it. I can sort of imagine it happening in some builder-pattern, maybe, but that is still a long shot, the delegate only allows you to add/remove from the delegate queue and invoke it.
    Do you have any examples where delegate combination / multicast delegates (outside of events) would be a useful, readable, desirable way to write code? To me, the fact that a delegate can be turned into a multicast delegate at any point, is kind of scary, I've always treated them as just a 'function pointer' and not a 'container with possibly multiple function pointers'.

    • @RawCoding
      @RawCoding  2 роки тому

      it's used for the Observable pattern, other than that nobody really uses it for anything else. also I prefer to just have the IObservable interface

  • @oladipotimothy6007
    @oladipotimothy6007 3 роки тому +2

    How do you get this good? How do you practise to sharpen your skills

    • @RawCoding
      @RawCoding  3 роки тому +1

      Google read write review repeat

    • @oladipotimothy6007
      @oladipotimothy6007 3 роки тому +1

      @@RawCoding I will have to stamp that on my wall

  • @haythambiadse5137
    @haythambiadse5137 2 роки тому

    you are red hot chili pepres in word of coding channels

  • @yoosufriffath6284
    @yoosufriffath6284 3 роки тому +1

    umm.. I don't think the return type is actually considered as a part of the method signature? I could be wrong lol..

    • @RawCoding
      @RawCoding  3 роки тому +1

      It is for the purpose of comparing delegates.

  • @sunilanthony17
    @sunilanthony17 3 роки тому +1

    Delegate is a container that a function(lamda) goes into => Awesome();

  • @apofisz1
    @apofisz1 3 роки тому +1

    in this example how can i use += ? how can i add more methold with +=?

    • @RawCoding
      @RawCoding  3 роки тому

      Yea, haven’t really covered it in the video. That’s essentially function composition and you just have to keep matching the signature of the function. You can also call the Combine method on the delegate

  • @stefanioan7569
    @stefanioan7569 3 роки тому +2

    is the F12 option available only for the paid premium version?

    • @RawCoding
      @RawCoding  3 роки тому +1

      Think so,it’s called IL spy and you can get it on visual studio

    • @stefanioan7569
      @stefanioan7569 3 роки тому

      @@RawCoding I did open ILSpy it with alt+shift+r. Thanks for support and all the hard work

  • @XpLoeRe
    @XpLoeRe 3 роки тому +1

    this is fucking amazing

  • @clearlyunwell
    @clearlyunwell 3 роки тому +1

    👍🏽

  • @antoniomatsumura2007
    @antoniomatsumura2007 Рік тому

    class Program
    {
    public delegate void DelegateFunc();
    public static void Main()
    {
    List Funcs = new List() { () => { Console.WriteLine("f0"); }, f1, f2 };

    foreach(DelegateFunc Func in Funcs)
    {
    Func();
    }
    }
    public static void f1()
    {
    Console.WriteLine("f1");
    }
    public static void f2()
    {
    Console.WriteLine("f2");
    }
    }

  • @RoboChickenAnimation
    @RoboChickenAnimation 3 роки тому +1

    can you make a video on error handling in C#? Thanks.

    • @RawCoding
      @RawCoding  3 роки тому +1

      What’s your concern with error handling?

    • @RoboChickenAnimation
      @RoboChickenAnimation 3 роки тому +2

      @@RawCoding how to elegantly throw and handle exceptions in a way that avoids them being raised everywhere making code harder to read and trace through. Thanks.

    • @RawCoding
      @RawCoding  3 роки тому +1

      Avoid exceptions

    • @RoboChickenAnimation
      @RoboChickenAnimation 3 роки тому +1

      @@RawCoding I’ve heard this a few times. Could u send me a link to anything that would steer me in the right direction I’d very much appreciate it!

    • @RawCoding
      @RawCoding  3 роки тому +2

      Just don’t throw exceptions. Handle unexpected ones in business critical paths

  • @mfundofalteni2620
    @mfundofalteni2620 3 роки тому +1

    Delegates are basically stored procedures for c# 😅

    • @RawCoding
      @RawCoding  3 роки тому

      Ohhh man don’t know about that one, that’s a bold statement

  • @Raid77
    @Raid77 Рік тому

    20:10

  • @PaulSebastianM
    @PaulSebastianM 3 роки тому +1

    Beach... haha. 😅 pandemic side-effects.

  • @tuberklz
    @tuberklz 3 роки тому +1

    wtfunc

  • @stewiegriffin6503
    @stewiegriffin6503 2 роки тому +3

    u are very confusing

    • @RawCoding
      @RawCoding  2 роки тому

      Eyyy Stewie how you doing