c# (Csharp):- What is the use of Yield keyword in c# ?
Вставка
- Опубліковано 29 вер 2024
- For more such videos visit www.questpond.com
For more such videos subscribe www.youtube.co...
See our other Step by Step video series below :-
Learn C# Step by Step goo.gl/FNlqn3
Learn Design Pattern Step by Step:- goo.gl/eJdn0m
Learn Angular tutorial step by step tinyurl.com/yc...
Learn MVC Core step by step :- tinyurl.com/y9j...
Learn Azure Step by Step :- tinyurl.com/y6...
Learn SharePoint Step by Step in 8 hours:- goo.gl/XQKHeP
Python Tutorial for Beginners:- • Python Tutorial for Be...
Learn Data Science in 1 hour :- tinyurl.com/y5...
Learn Power BI Step by Step:- tinyurl.com/y6...
Learn MSBI Step by Step in 32 hours:- goo.gl/TTpFZN
Learn SQL Server Step by Step tinyurl.com/ja4...
Learn Tableau step by step :- tinyurl.com/kh...
In this video we will try to understand what is the use of Yield keyword. Yield keyword helps us to do custom stateful iteration over .NET collections. In this video we will understand the same with a full demonstration.
We are also distributing a 200 page Ebook ".NET Interview Question and Answers". If you want this ebook please share this video in your facebook/twitter/linkedin account and email us on
questpond@questpond.com with the shared link and we will email you the PDF.
Do not miss our Interview Question video series
30 Important C# Interview Questions : ua-cam.com/video/BKynEBPqiIM/v-deo.html
25 Important ASP.NET Interview Questions : ua-cam.com/video/pXmMdmJUC0g/v-deo.html
25 Angular Interview Questions : ua-cam.com/video/-jeoyDJDsSM/v-deo.html
5 MSBI Interview Questions : ua-cam.com/video/5E815aXAwYQ/v-deo.html
Found this clip via Stack Overflow and wow I finally understand Yield clearly and intuitively. What a great video, thank you!
Same bro
9 years later and this really helped me understand. Thanks man, found you via Stack overflow.
Thank you sir, this really clarified my confusion.
Thank you for taking the trouble to explain to explain this feature.
Excelent explanation, thank you!
Great explanation
How can you understand the explain the use of Yield and not learn the correct way to pronounce the word yield?
yee - eel-d, not eeld.
+DeeArr Thank you!
wow, now i know how to pronounce it after 3 years...it suppose to be eel(fish) keyword ... shame.
The most hated C# feature ever. It's hard to understand and it's used only once every few years - at a job interview.
You are master teacher. Very very clear. Thank you for taking the time to fully explain this concept.
You're awesome. This is one of the few concepts in c# where I always had trouble with. Not any longer with this tutorial. Thank you. Btw, with out should be without, one word.
The moment I see the yellow screen in the youtube thumbnail, I watch that video without fail because I know its going to be well worth it.. You are doing an awesome job.. Keep it up
Can't we do both scenarios without the "Yield" keyword as shown below:
Scenario 1: static void Main()
{
FillList();
foreach(int i in mylist )
{
if (i > 3)
{
Console.WriteLine(i);
}
}
Console.ReadLine();
}
Scenario 2: static void Main()
{
FillList();
int runningsum = 0;
foreach(int i in mylist )
{
runningsum += i;
Console.WriteLine(runningsum);
}
Console.ReadLine();
}
I know i am missing something regarding actual need of 'Yield' here.
Can someone help please.
thinking the exact same thing.
With a lot of keywords I don't understand in which scenario's I would use them. But there are always a few scenario's to solve some things/problems. This scenario is maybe not the best way to use the yield keyword, but the first scenario with greater than 3 I thought it really helps me understand the yield keyword. So maybe when I want to make a temp list I remember this video and try it without a temp list and use the yield keyword :)
What we can do with YIELD keyword, we can do it without as well.
But, YIELD just makes it simple and readable.
Like, what is the C programming can't do that C# does.
C# just makes coding simple.
YIELD is like that.
Thanks.
+vikas sharma Well, what you're missing - it's not the point to write to the Console. Take your Scenario 1, and imagine that you need to return that IEnumerable (collection containing numbers 4 and 5) to some other method. If that was the case, you would have to instantiate new collection, fill it with those values, and return it. Two important things here: you have to finish your iteration before you return, and your other method has to wait until you finish. Now, if what you're doing per iteration is not just adding an int to a collection, but some "more expensive" data processing, the method waiting for that data would have to wait for all the "long lasting" iterations to finish. When using "yield", as soon as one iteration is complete, your other method gets the result, and you might decide to break at some point and not even do all the expensive iterations.
+djomlastic Nice one
Brilliant video, make this neat little feature of C# very easy to understand. Props for explaining the internals too!
I always confused with yield and avoid using it. now I got it and will be using it. thanks for great explanation.
gentlemen thanks for understanding that English is a foreign language for us and not mother tongue.
This is why I love programing - if you are struggling with something, there are guys on you tube that will explain to you.
Great video.
Great community.
One love.
Excelent explanation. Very concise and informative.
Your explanations for "yield " keyword are more clear than the ones i saw on stack-overflow.
Thanks dude.
Thank you! I was looking for a C# example that explained yield without a lot of extra noise. I found several, but this example was the one where I finally got it! Awesome!
You cover in your tutorials very uncommon things which is the best thing about your tutorials !! Its difficult to find explanations on these topics at one place. Thank you so much !!
спасибо от русскоязычныз ( thx from Ukrain ) !!! ))
Ukraine
Excellent explanation! Your pronunciation of the word "yield" made it difficult for me to follow at first but I caught on. Thanks!
Andrew Steitz EELed. Simple.
Thank you soo much for explaining yield in such clear way! well done:)
Great video.15 years and today I finally bothered to look up the yield keyword. Happy days!!!
It was easy enough to follow.
The only constructive feedback, if I may, would be to help you develop would be that if you ever intent to work in an English speaking country, it is hard to understand.
Why does the Indian accent omit the "yee" from the beginning of "yield"? Also - the using the singular for "iteration" when you mean the plural "iterations".
It's only minor but I thought worth mentioning because you're clearly a professional.
Thank you very much for taking the time to explain this.
Thank you so much Sir. Very helpful :)
Great explanation , thanks
I dint understand a word, coz I dont speak french, but every your move.next() clearly described the intention of change with a great finale at async/await . Amazing knowledge. Will try to step through this in JS and then will do for C#.
Thank you!
Reading articles didn't help! However your video, diagram and debugging the code really made a difference. Thank you!! :)
you should be a professional teacher, this video is extremely clear and helpful! I hope you've made some money from this video. I also found it from a stack overflow post. Final note: it's early 2024 for me right now.
I have never seen anyone explain so easily as you. Simply superb
It even works when the generator function walks over deeply nested data structures, using recursion, thus, calling itself in potentially several levels and probably foreach-loops. And the receiver just gets one value after the other neatly serialized... That's not _easily_ possible without pre-buffering the results in next_element()-like functions.
Psalm 14:1-3
King James Version
14 The fool hath said in his heart, There is no God. They are corrupt, they have done abominable works, there is none that doeth good.
i didn't finish the video yet , but why not give a convenient example if i wanted to show only numbers above 3 i would just add an IF statement , If( i>3) { Consol.Writeln(i); }
Good !
Honestly, just show them MSIL code, it answers ALL questions. There is no need to flex your terrible accent on worst ever example.
Sir, with due respect your explanation about preserving the data is a little confusing.
If we observe the debugging closely, what 'yield' keyword does here is:
When we reach the yield keyword in the for-loop, it returns to the caller BUT DOESN'T EXISTS the method and when another iteration comes, the execution resumes to the very next line of the yield return statement, which here is the end curly brace of the loop, so then it again iterates but from the same iteration count as you said in the video earlier, like it is resuming the execution of this method. So the running total variable never gets destroys but gets out of scope for a short period of time and as the execution of the loop resumes, it comes back in the scope with its existing value.
Great Video sir, now it makes sense to me how CoRoutines work in Unity.
Thank you
The example on providing a running total is a good example of the yield keyword - it demonstrates the concept of stateful iteration perfectly!
now i have clear understanding!! thnks
Hi When you have a variable inside Static method, here its runningtotal, its preserved right, what yield does here to make the runningtotal preserved?
I dont understand how the method allows with out proper return type. You used innumerable as return type but not returning that. ..may be yeild does the trick. ..need some more research on yeild...
Great video, thank you :)
thanck you for this video
Awesome example, thank you very much for so nice explanation!!! Have a good day!
I was trying to understand yield today at work. This video helped me out. thanks.
clearly explained.
thanks
Thanks learned new things
Thank you Sir for such a superb explanation...
very good tutorial
what if i write i>3 directly inside the foreach loop without temp list and yield
Thats simply great ..Thanks..
Thanks a lot. Your explanation is very clear.
Thank you so much Sir. Very helpful :)
Thank you for these clear and concise explanations.
Thanks, finally I am understanding yield! :)
Please correct my below understanding too.
Return : takes control back to caller function for ever providing value to it.
Yield return : takes control back to caller function, finishes the caller function execution and then brings control back to resume the steps below yield keyword
+Ruchin Vincent Thats right.
Great understanding bhai!
Great explanation sir, but subtitle is not showing the code
Awsome video.. Its a nice thing to know.
Thanks - all say "Y" (go on try it!)
Great video, thanks for the clear explanation.
Awesome thing yield. Thank you
Thanks. very clear explanation.
❤thanks for this valuable content
Thanks, I understand now what is yield
at last i understood yield. Thanks a lot
You are really Master! Thank You.
nice
Thank you that helps.
Does yield have delegates at the backend?
No, don't thank me! thank YOU
thank you so much...
is Linq where query uses yield return?
Oh, so yield kinda preserves the function it's in. Interesting, I've been using it for like 5 years with coroutines in Unity and only now I learned what it actually does.
very good explaination.
i yield..
great explanations sir
wow this is very useful. Thanks for this concept.
Excellent Explanation!
Very clear thank you
Great explanation!!!
I've a question, you can use the statment yield only when you return an IEnumerable or IEnumerable collection?, and this only works when you use an iterator (foreach)?
Thank you sir ji.
Awesome explanation with example. Read MSDN 2-3 times but not getting it correctly. thanks.
Amazing explained
Good video thanks
best explanation
Hi, for the first example, instead of temporary collection, shall I take the values greater than 3 using linq . Then why I could use yield in that place only. Kindly clarify it.
Thank you sir.
awsome
You can show the implementation of IEnumerable, how it knows the previous step, this step, and the next one, so in other words yield keyword, is hidden from the developer, implementation of IEnumerable, Big like anyway, thank you
well explained 👍
yes, clear lesson. but i still don't understand why this is necessary. what is the real benefit of "yield"? why don't you just put an if condition in the foreach loop?
Although I very much dislike videos where some programming practice is presented as they are waste of time, hard to follow and very little information is actually given. But, this one is a rare and blistering exception. Great tutorial. Appreciate the effort with additional animation. Thumb up. Sorry I have only one.
very helpful ❤
Best Explanation on yield keyword, for many many years i had issue to understand this thing.
Simply explained I watched some other popular videos about this topic, but none of them are good to me. But this one did the job Now i know the concept of yield and where to use and how to use THANK YOU
very nice explanation.. but will it not affect the performance ? what is the advantage of using it over other traditional ways ? please consider memory is not a costly thing now a days..
Could someone please clarify: Why a static list property? You are calling it on the same class so.. It doesn't change how you invoke it.. I dont get it.
Nicely explained. Rather than going through many sites which do not even mention on what is discussed in the video we can watch the video and save our time. Thanks!